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

标签 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" />

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

最佳答案

Spinner 扩展了由适配器类支持的 AdapterView

就像您可以自定义 ListView 中的每一行一样,您应该能够通过重写 Adapter.getView() 等方法为您的 Spinner 执行相同的操作。

您可以返回一个带有 ellipsize 属性的简单 TextView。

希望对您有所帮助。

关于Android 的微调器在文本太长时自动滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23756204/

相关文章:

javascript - 如何暂时防止鼠标滚轮双滚?

java - Android - Spinner 异步下载文件不保存

Android - 获取微调器的选定值返回 android.content.ContentResolver$CursorWrapperInner

android - 如何获得字符串数组的大小?

java - Android 从 Socket 读取内容卡在第二个读取循环上

android - 以编程方式从 Android 的内置 Gallery 应用程序中获取/选择图像

android - 当应用程序处于后台但未挂起以及打开应用程序时,推送通知不起作用

javascript - 如何使用 jQuery 的scroll() 事件在每个像素移动时执行函数

javascript - 使用谷歌图表自动向下滚动表格

android - 使用用于渗透的 mapfilewriter 插件创建 .map 文件