4

我有一个Spinner显示单个数字(1-6)的。

当我在手机上测试时,几乎不可能点击一个数字,因为它们太窄了(字体大小为 12sp),而且唯一看起来可以点击的区域是文本本身。

理想情况下,我希望用户能够在Spinner下拉菜单上单击比文本更大的宽度。我试过用空格填充,但这些被抑制了,我试过使用PaddingLeft/Right,但再次没有区别。

这里是Spinner

<Spinner
            android:id="@+id/spinner_period1"
            android:layout_toRightOf="@id/spinner_weekday1"
            android:layout_below="@id/col1day"
            android:layout_height="wrap_content"
            android:prompt="@string/enterperiod"
            android:layout_width="80dp"
            android:entries="@array/periodlist"
            android:layout_marginRight="340dp"
            android:layout_marginBottom="20dip"
            />

请注意,我还Spinner使用以下方法设置了文本属性:

<TextView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/textview"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:textSize="12sp"
        android:textColor="#768766"
        />

有任何想法吗?提前致谢

标记

4

4 回答 4

7

尝试使属性TextView更宽。android:layout_width

<TextView
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/textview"
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        android:textSize="12sp"
        android:textColor="#768766"
        />

这可能会解决您的问题或至少使其变得更好。

于 2012-08-09T14:46:28.667 回答
2

尝试将您的 TextView 布局宽度设置为任意值,而不是“wrap_content”。这应该使整个内容都可点击,而不仅仅是包装的内容。

于 2012-08-09T14:44:50.190 回答
1

只需向微调器添加一些填充即可帮助我解决此问题。

<Spinner
    android:id="@+id/spinner"
    android:layout_width="200dp"
    android:layout_height="wrap_content"
    android:padding="25dp"
    android:scrollbarSize="20dp" />
于 2020-11-17T15:37:12.560 回答
-1

方式 1:使用android:spinnerMode将微调器的选项显示为下拉列表。因此,请查看 API(Android API Spinner)。或者玩弄android:dropDownWidth

方式 2(我在 APP 中使用它,但目前我无法访问代码):也许您可以在使用文本填充微调器时设置另一个布局 - 而不是在 XML 中分配值。

Spinner spinner = (Spinner) findViewById(R.id.spinner);
// Create an ArrayAdapter using the string array and a default spinner layout
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this,
        R.array.planets_array, android.R.layout.simple_spinner_item);
// Specify the layout to use when the list of choices appears
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Apply the adapter to the spinner
spinner.setAdapter(adapter);

它是从以下链接Android Spinner复制而来的。也许您可以使用 android.R 的布局模板之一。

于 2012-08-09T14:58:23.063 回答