我最近刚刚在我的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。
还有其他人遇到过这个问题吗?
答案 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来修改布局。