私はたくさん試しましたが、サポートからのAutoCompleteTextView
を使用してTextInputLayout
フロートヒントを機能させることはできません。
それは可能ですか、それとも外部ライブラリを使用する必要がありますか?
番号 。
このように含める
<Android.support.design.widget.TextInputLayout
Android:id="@+id/til_id"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_marginTop="125dp"
>
<AutoCompleteTextView
Android:id="@+id/auto_text"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:hint="Id"
Android:singleLine="true"/>
</Android.support.design.widget.TextInputLayout>
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.Android.support:appcompat-v7:23.0.1'
compile 'com.Android.support:design:23.0.1'
}
詳細については、ここをクリックしてください http://androiddhina.blogspot.in/2015/10/Android-material-design-floating-labels-for-edittext.html
少し遅れるかもしれませんが、ここに秘訣があります。
次のクラスを作成し、
public class AutoCompleteTextInputLayout extends TextInputLayout {
private boolean mIsHintSet;
private CharSequence mHint;
public AutoCompleteTextInputLayout(Context context) {
super(context);
}
public AutoCompleteTextInputLayout(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public void addView(View child, int index, ViewGroup.LayoutParams params) {
if (child instanceof EditText) {
mHint = ((EditText) child).getHint();
}
super.addView(child, index, params);
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if (!mIsHintSet && ViewCompat.isLaidOut(this)) {
setHint(null);
EditText editText = getEditText();
if (editText == null) {
return;
}
CharSequence currentEditTextHint = editText.getHint();
if (!TextUtils.isEmpty(currentEditTextHint)) {
mHint = currentEditTextHint;
editText.setHint("");
}
setHint(mHint);
mIsHintSet = true;
}
}
}
次に、この行をレイアウトファイルに追加して、魔法を見てください
<com.example.AutoCompleteTextInputLayout
Android:id="@+id/text_input_autocomplete"
Android:layout_width="match_parent"
Android:layout_height="wrap_content">
<AutoCompleteTextView
Android:id="@+id/autocomplete_tv"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:singleLine="true"
Android:textColorHint="@color/textColorDarkHint"/>
</com.example.AutoCompleteTextInputLayout>