这是我的布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:id="@+id/LinearLayout01"
android:layout_height="wrap_content">
<Spinner android:text="@+id/AutoCompleteTextView01"
android:id="@+id/Spinner01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:width="130dp"></Spinner>
<EditText android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/Chapter" android:width="30dp"></EditText>
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/TextView01" android:text=":"></TextView>
<EditText android:layout_height="wrap_content"
android:layout_width="wrap_content" android:id="@+id/Verse"
android:width="40dp"></EditText>
</LinearLayout>
我将此布局扩展为AlertDialog的视图。但是当我选择一个大元素时,文本字段会被推到右边。有没有办法设置微调器的最大大小,所以在选择一个元素后,它会用省略号(“...”)缩短选择范围?
答案 0 :(得分:4)
Spinner
集合的大小android:layout_width="wrap_content"
由其内容决定。如果你想要一些椭圆化的东西,那么当你创建你的行视图时,这取决于你SpinnerAdapter
。
或者,硬连接大小固定的android:layout_width
。
或者,不是使用LinearLayout
,而是使用RelativeLayout
并构建规则,以便Spinner
占用行上的剩余空间,方法是将其锚定在行的左侧。屏幕和第一个EditText
的左侧。
答案 1 :(得分:4)
无需使用自定义适配器。使用android.R.layout.simple_spinner_item然后将其从椭圆选框更改为结束椭圆。然后将新的更改布局文件设置为布局ID或使用此布局文件
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
style="?android:attr/spinnerItemStyle"
android:singleLine="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingRight="10dp"
android:ellipsize="end" />
答案 2 :(得分:0)
设置微调框 android:background =“ @ null” 即可解决该问题。 这还将隐藏下拉图标的可见性