Android:如何设置微调框的最大尺寸?

Epa*_*aga 3 layout alert android spinner

这是我的布局

<?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>
Run Code Online (Sandbox Code Playgroud)

我将此布局充气为AlertDialog的视图。但是,当我选择一个较大的元素时,文本字段会向右推出。有什么方法可以设置微调器的最大尺寸,以便在选择元素后,用省略号(“ ...”)或其他东西缩短选择范围?

小智 5

无需使用自定义适配器。使用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" />
Run Code Online (Sandbox Code Playgroud)


Com*_*are 4

Spinner集合的大小android:layout_width="wrap_content"由其内容决定。如果您想要椭圆形的东西,这取决于您在SpinnerAdapter创建行视图时在您的 中。

或者,用硬连线android:layout_width固定尺寸。

或者,不使用LinearLayout,而是使用RelativeLayout并构建您的规则Spinner,通过将其锚定到屏幕的左侧和第一个 的左侧来占据行上的剩余空间EditText。虽然我不能 100% 确定如果内容太大会发生什么——它可能会被截断。