私はTextInputLayout + TextInputEditTextとスピナーでフォームを持っています。私はスピナーの高さのテキストを折り返したいが、ドロップダウンに大きな項目がある。問題は、スピナーの高さがドロップダウンアイテムの高さ(simple_spinner_dropdown_item)に依存することです。 スピナーの下に行を追加するために、style = "@ style/Base.Widget.AppCompat.Spinner.Underlined"を設定しました。スピナーのようなedittext
1
A
答えて
3
スピナーのEditText
のようなあなたはのEditTextのような、それは。あなたがそのようなカスタムあなたのAppCompatAutoCompleteTextView
できようAutoCompleteTextViewだスピナーたい場合:
public class AutoCompleteDropDown extends AppCompatAutoCompleteTextView {
// implements AdapterView.OnItemClickListener
private static final int MAX_CLICK_DURATION = 200;
private long startClickTime;
private boolean isPopup;
private int mPosition = ListView.INVALID_POSITION;
public AutoCompleteDropDown(Context context) {
super(context);
// setOnItemClickListener(this);
}
public AutoCompleteDropDown(Context arg0, AttributeSet arg1) {
super(arg0, arg1);
// setOnItemClickListener(this);
}
public AutoCompleteDropDown(Context arg0, AttributeSet arg1, int arg2) {
super(arg0, arg1, arg2);
// setOnItemClickListener(this);
}
@Override
public boolean enoughToFilter() {
return true;
}
@Override
protected void onFocusChanged(boolean focused, int direction,
Rect previouslyFocusedRect) {
super.onFocusChanged(focused, direction, previouslyFocusedRect);
if (focused) {
performFiltering("", 0);
InputMethodManager imm = (InputMethodManager) getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(getWindowToken(), 0);
setKeyListener(null);
dismissDropDown();
} else {
isPopup = false;
}
}
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_UP: {
if (isPopup) {
dismissDropDown();
} else {
requestFocus();
showDropDown();
}
break;
}
}
return super.onTouchEvent(event);
}
@Override
public void showDropDown() {
super.showDropDown();
isPopup = true;
}
@Override
public void dismissDropDown() {
super.dismissDropDown();
isPopup = false;
}
@Override
public void setCompoundDrawablesWithIntrinsicBounds(Drawable left, Drawable top, Drawable right, Drawable bottom) {
Drawable dropdownIcon = ContextCompat.getDrawable(getContext(), R.drawable.ic_expand_more_black_18dp);
if (dropdownIcon != null) {
right = dropdownIcon;
right.mutate().setAlpha(66);
}
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
super.setCompoundDrawablesRelativeWithIntrinsicBounds(left, top, right, bottom);
} else {
super.setCompoundDrawablesWithIntrinsicBounds(left, top, right, bottom);
}
}
public int getPosition() {
return mPosition;
}
}
およびic_expand_more_black_18dp.png
はそのようなイメージです。
レイアウト:
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:textColorHint="@color/gray_text_hint"
app:hintTextAppearance="@style/TextAppearance.App.TextInputLayout.Dark">
<yourpackage.AutoCompleteDropDown
android:id="@+id/edtBloodType"
style="@style/edt_dark"
android:hint="Blood Type"
android:inputType="textNoSuggestions" />
</android.support.design.widget.TextInputLayout>
結果(あなたはAutoCompleteTextView用のアダプタを設定することができます)
-1
ANSWER:私はちょうど設定しました(両方のレイアウトを試しましたが)特定のドロップダウンレイアウトがあります。
ArrayAdapter<String> typeAdapter = new ArrayAdapter<>(getActivity(), android.R.layout.spinner_item, types);
typeAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner_itemは左パディングを削除するカスタム・レイアウトです:また
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerItemStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee"
android:paddingEnd="0dp"
android:paddingLeft="0dp"
android:paddingStart="0dp"
android:singleLine="true"
android:textAlignment="inherit" />
、スピナーにこのスタイルを追加します。ここでは
style="@style/Widget.AppCompat.Spinner.Underlined"
そして
0
は、回避策です:
レイアウトandroid.R.layout.simple_spinner_dropdown_item
が
dropdown
項目とカスタムレイアウト
custom_spinner_item
のために使用されている。ここ
のみTextView
を表示するスピナーview
ために使用されています。
custom_spinner_item.xml:あなたは、あなたのニーズに従ってこのTextView
をカスタマイズすることができFYI
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:maxLines="1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="marquee" />
、。
希望すると便利です〜
関連する問題
- 1. Android EditTextのようなGoogle検索EditText
- 2. EditTextを使ったぼかしスピナー
- 3. iPhoneのようなAndroid用のスピナー
- 4. 私のスピナーは私のEditTextと同じ幅にしますか?
- 5. アンドロイド - のEditTextにフォーカスを設定スピナー選択
- 6. のEditTextのEditTextのshowテキスト、ないショーanythigsをしようと何のショーテキスト
- 7. さまざまなスピナー値のEditTextフィールドを変更する方法
- 8. のEditTextが私のEditTextがどのように見えるタッチ
- 9. スピナーでリストビューをフィルタリングした後、検索ボックス(edittext)
- 10. スピナーのようなドロップダウンメニューを持つAndroidのテキストボックス
- 11. AndroidでWebのようなオプションをスピナーにする方法は?
- 12. ディナースピナーのようなスピナーを作成したい
- 13. スピナー - どのようにgetSelectedItem()。toString()をスピナーからスピナーに変換するのですか?
- 14. はどのように私はのEditText
- 15. のEditTextは、次のように
- 16. どのようにカスタムedittext android caculator?
- 17. メモ帳のようなラインデザインのAndroidカスタムedittext
- 18. スピナーの下の下線がEditTextのアンダーラインと一致していません
- 19. キーボードのeditTextを変更できないようにする
- 20. のEditTextと私のリストビューをフィルタリングしようとするのEditTextのAndroid
- 21. EDITTEXTがdisableから有効に行きたい後、スピナーの項目で
- 22. スピナーとEditTExtの間にさらにスペースが表示されます
- 23. save 2 editTextを同じアクティビティで2つのスピナーに適用する
- 24. fidgetスピナーのような特別な力でスプライトノードをスピンする方法
- 25. edittextが空でないようにします。
- 26. EditTextがいっぱいになるようにします。
- 27. EditTextに数字が入力されないようにする
- 28. EditTextクリックでキーボードがポップアップしないようにしますか?
- 29. IDをスピナーでどのように取得できますか?
- 30. 角度2材質 - どのようにセンターに進行スピナー
[mcve]を入力してください。 –
@ Code-Apprenticeは例をアップロードしました – Yamila
スピナーアイテムはどうですか?それらの値は静的ですか? – FAT