Android Holo主题不包含多行微调器下拉项

时间:2012-10-25 15:51:42

标签: android spinner android-spinner

我最近刚刚在我的Android应用程序中实现了holo主题。执行此操作后,我所拥有的任何微调器,其中下拉项是多行,不会将文本换行到多行。每个下拉项都保留在一行中并截断到一定长度。

这是我的用于微调器

的下拉资源的xml
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android" 
android:id="@android:id/text1"
style="?android:attr/spinnerDropDownItemStyle"
android:singleLine="false"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ellipsize="none" />

这适用于ICS和holo主题之前的旧版Android。

还有其他人遇到过这个问题吗?

1 个答案:

答案 0 :(得分:0)

正如我在Spinner does not wrap text -- is this an Android bug?

中提到的那样

我认为android上有一个bug。你可以试试这个。从文本中删除空格,然后显示它将正常工作。如果textview的长度是&lt;字符串的那个,它忽略了空格后面的所有字符。对于解决方法,你可以试试这个:

使用示例代码将文件添加到名为multiline_spinner_dropdown_item.xml的res / layout文件夹中:

<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/sample_text"
style="?android:attr/spinnerDropDownItemStyle"
android:singleLine="false"
android:layout_width="match_parent"
android:layout_height="?android:attr/listPreferredItemHeight"
android:ellipsize="marquee" />

当您创建微调器时,从此布局创建它。

类似的东西:

ArrayAdapter.createFromResource(this, items, R.layout.multiline_spinner_dropdown_item);

基本上,将android.R.layout.simple_spinner_dropdown_item布局复制到项目中,并通过在CheckedTextView中将singleLine属性设置为false来修改布局。