当文本太长时,Android的微调器自动滚动

时间:2014-05-20 09:41:13

标签: android scroll spinner horizontal-scrolling

在我的布局中有一个固定宽度的微调器(下拉列表),有些条目比微调器长,所以我希望它们在选择时自动水平滚动。

我知道您可以将自动水平滚动应用于textview,如下所示:

<TextView
        android:id="@+id/textView1"
        android:layout_width="50dp"
        android:layout_height="25dp"
        android:ellipsize="marquee"
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:marqueeRepeatLimit="marquee_forever"
        android:scrollHorizontally="true"
        android:singleLine="true"
        android:text="Single-line text view that scrolls automatically if the text is too long to fit in the widget" />

我尝试将相同的设置应用于我的微调器,如下所示:

<Spinner
            android:id="@+id/spinner1"
            android:layout_width="90dp"
            android:layout_height="55"
            android:ellipsize="marquee"
            android:entries="@array/country_arrays"
            android:focusable="true"
            android:focusableInTouchMode="true"
            android:marqueeRepeatLimit="marquee_forever"
            android:scrollHorizontally="true"
            android:singleLine="true" />

但它不滚动。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

Spinner扩展了 AdapterView ,它由Adapter类支持。

就像你可以自定义ListView中的每一行一样,你应该能够通过覆盖像 Adapter.getView()这样的方法为你的Spinner做同样的事情。

您可以使用 ellipsize 属性返回一个简单的TextView。

希望它对你有很大的帮助。