Как я могу сделать ширину счетчика равной самой большой доступной ширине элемента

Я понимаю, что даже я использую wrap_content для своего счетчика (я избегаю использования match_parent поскольку я не хочу, чтобы spinner был слишком длинным), и используя match_parent для просмотра позиции элемента spinner и выпадающего элемента,

Я все еще считаю, что ширина счетчика не такая же, как ширина самого большого элемента

Введите описание изображения здесь

Как вы можете видеть, UnitedKingdom не подходит.

Итак, если я UnitedKingdom , только UnitedKingdom будет изменять размер

Введите описание изображения здесь

Как я могу сделать spinner resize наибольшей доступной шириной элемента, даже без явного выбора самого большого элемента?

Мой spinner XML – это

 <Spinner android:id="@+id/spinner1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="10dp" /> 

И мои представления Spinner's XML

 <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/text_view_0" style="?android:attr/spinnerItemStyle" android:singleLine="true" android:layout_width="match_parent" android:layout_height="wrap_content" android:drawablePadding="10dp" android:gravity="center_vertical" /> 

 <CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/checked_text_view_0" style="?android:attr/spinnerDropDownItemStyle" android:singleLine="true" android:layout_width="match_parent" android:layout_height="48dp" android:minHeight="48dp" android:drawablePadding="10dp" /> 

Solutions Collecting From Web of "Как я могу сделать ширину счетчика равной самой большой доступной ширине элемента"

Вы должны иметь возможность получить WRAP_CONTENT эффект, указав ширину выпадающего списка как WRAP_CONTENT :

 <Spinner android:id="@+id/spinner1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="10dp" android:dropDownWidth="wrap_content" android:spinnerMode="dropdown" /> 

Это будет измерять до 15 элементов адаптера счетчика, чтобы определить ширину, которую он должен использовать.

Я просто «решаю» проблему, используя

 <Spinner android:id="@+id/country_spinner" android:layout_width="wrap_content" android:layout_height="wrap_content" android:minWidth="200dp" android:layout_marginBottom="10dp" /> 

200dp – это просто значение try-n-error, чтобы убедиться, что все элементы в раскрывающемся списке видны.

Поместите свой TextView внутри LineanLayout в Spinner Item XML,

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/text_view_0" style="?android:attr/spinnerItemStyle" android:singleLine="true" android:layout_width="match_parent" android:layout_height="wrap_content" android:drawablePadding="10dp" android:gravity="center_vertical" /> </LinearLayout> 

И передайте свой идентификатор TextView на пользовательский конструктор адаптера

 CustomAdapter adapter = new CustomAdapter(this,R.layout.spinner_item,R.id.text_view_0,arraylist); 

Конструктор

  public CustomAdapter(Context context, int resource, int textViewId, ArrayList<String> resultList) { super(context, resource, textViewId, resultList); ... ... } 

Попробуйте следующее: android: layout_width = "fill_parent"