在我的布局中有一个固定宽度的微调器(下拉列表),有些条目比微调器长,所以我希望它们在选择时自动水平滚动。
我知道您可以将自动水平滚动应用于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" />
但它不滚动。有什么想法吗?
答案 0 :(得分:1)
Spinner扩展了 AdapterView ,它由Adapter类支持。
就像你可以自定义ListView中的每一行一样,你应该能够通过覆盖像 Adapter.getView()这样的方法为你的Spinner做同样的事情。
您可以使用 ellipsize 属性返回一个简单的TextView。
希望它对你有很大的帮助。