我意识到即使我使用wrap_content我的微调器(我避免使用,match_parent因为我不希望旋转器过长),并使用match_parent旋转器的项目视图和下拉项目视图,
我仍然发现微调器的宽度与最大项目的宽度不同

如你所见,这UnitedKingdom是不合适的.
所以,如果我选择了UnitedKingdom,只有微调器会调整大小

即使没有明确选择最大的项目,如何使微调器调整到最大可用项目宽度?
我的微调器XML是
<Spinner
android:id="@+id/spinner1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp" />
Run Code Online (Sandbox Code Playgroud)
和我的微调器的观点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" />
Run Code Online (Sandbox Code Playgroud)
<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" />
Run Code Online (Sandbox Code Playgroud)
Ted*_*opp 16
您应该能够通过指定下拉列表的宽度来获得所需的效果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" />
Run Code Online (Sandbox Code Playgroud)
这将在微调器的适配器中测量最多15个项目,以确定它应使用的宽度.
我只是通过使用"解决"问题
<Spinner
android:id="@+id/country_spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minWidth="200dp"
android:layout_marginBottom="10dp" />
Run Code Online (Sandbox Code Playgroud)
200dp只是try-n-error值,以确保下拉列表中的所有项都可见.
| 归档时间: |
|
| 查看次数: |
46709 次 |
| 最近记录: |