相关疑难解决方法(0)

Spinner不会包装文本 - 这是一个Android错误吗?

如果项目的文本Spinner太长而无法放入一行,则文本不会被包装但会被剪切掉.这是对于壳体API级别> = 11.以下是Android 4.2.2(左)的屏幕截图,其中显示了错误的行为,Android 2.3.3(右)显示了预期的内容.

android:singleLine="false"这里简单地被忽略了.因此,所有其他尝试,如android:lines,android:minLines等等.TextView不知何故似乎比窗口宽度宽得多.

我看到其他人有同样的问题,但没有人能找到解决方案.那么,这是一个系统错误吗?我不认为操作系统版本之间存在这种不一致.


请注意:

有一些答案表明相对简单的解决方案.

  • 编写自定义Adapter和覆盖getView()以及getDropDownView().这不是解决方案,因为在这一点上,仍然存在原始问题:布局如何处理正确的换行?

  • TextView下拉视图包装到父级中ViewGroup.不起作用,android:layout_width="match_parent"因为父母的宽度似乎是无限的.

  • 给下拉视图一个固定的宽度.这不适合具有不同的宽度Spinner.

  • 当然,没有办法在\n任何地方手动插入文本.


使用以下代码重现:

更新:我还在GitHub上下载了这个示例项目:下载

/res/values/arrays.xml:

<string-array name="items">
    <item>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt.</item>
    <item>At vero eos et accusam et justo duo dolores et ea rebum. …
Run Code Online (Sandbox Code Playgroud)

android spinner android-layout android-spinner

66
推荐指数
6
解决办法
4万
查看次数