首页 > 解决方案 > Android Spinner 包含很长的文本

问题描述

我有一个 Spinner(Dropdown),其中包含 50 行,每行包含大约 160 多个字符,问题是前缀直到 20 个字符都相同,我的问题是我怎样才能使这个微调器垂直滚动(默认)和水平。

这样我就可以看到整个行的值。

标签: javaandroidscrolldropdown

解决方案


使用 TextView 水平滚动创建自定义布局,如下所示

custom_spinner.xml

 <TextView
        android:id="@+id/textView1"
        android:text="Scrollable Text" 
        android:singleLine="true"
        android:ellipsize="marquee"
        android:marqueeRepeatLimit ="marquee_forever"
        android:focusable="true"
        android:focusableInTouchMode="true" 
        android:scrollHorizontally="true"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"/>

然后将自定义布局设置为您的适配器类(可能是自定义或任何其他类似 ArrayAdapter)

ArrayAdapter your_Adapter = new ArrayAdapter(this, R.layout.custom_spinner,your_array);
your_spinner.setAdapter(your_Adapter );

推荐阅读