我有一个Spinner
,其中微调器内的文本和微调器展开时的选择(下拉视图)可能会很长,具体取决于语言环境。我为微调器视图和下拉视图设置了一个自定义视图,允许文本行换行,
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
style="?android:attr/spinnerDropDownItemStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="none"
android:minHeight="?android:attr/listPreferredItemHeight"
android:singleLine="false" />
并在代码中
spinnerPermission = (Spinner) layout.findViewById(R.id.permission_spinner);
ArrayAdapter<CharSequence> permissionAdapter = ArrayAdapter.createFromResource(getActivity(), R.array.add_share_dialog_permissions,
R.layout.multiline_spinner_dropdown_item);
permissionAdapter.setDropDownViewResource(R.layout.multiline_spinner_dropdown_item);
spinnerPermission.setAdapter(permissionAdapter);
这在android 2中运行良好,但在android 4中,下拉视图中的文本仍然不会换行,
虽然从图像中看不清楚,但是微调器视图中的文本确实正确包装。我无法确定,但似乎下拉视图周围的容器不受屏幕限制,并向右扩展屏幕。这会阻止文本包装,因为就TextView
而言,有足够的空间。
这是层次结构查看器中的微调框的弹出视图,
任何想法? 感谢。
答案 0 :(得分:1)
我已经通过自定义布局解决了这个问题,我在LinearLayout中有TextView。 TextView和LinearLayout都具有固定宽度200dp。然后它在Android 2.3和4.0上正确地包装文本。
答案 1 :(得分:0)
CheckedTextView
扩展TextView
,其中包含inputType, maxLines, minLines
个属性。
尝试将android:inputType="textMultiline"
属性应用于CheckedTextView
,这应该会有所帮助。
答案 2 :(得分:0)
创建自定义布局,首先是Goto res文件夹 - >创建新的XML布局文件 例如:simple_spinner_layout.xml
链接:http://justpaste.it/edit/2866098/aab2f5f3
它为我工作。 如果你满意的话,Plz投票支持这个答案。