为了账号安全,请及时绑定邮箱和手机立即绑定

Spinner不会换行,这是Android的错误吗?

Spinner不会换行,这是Android的错误吗?

犯罪嫌疑人X 2019-12-26 13:56:33
如果项目的文本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罐头具有的不同宽度。当然,没有解决方案是将\ns 手动插入文本中的任何位置。复制以下代码:更新:我还将其作为示例项目上传到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. Stet clita kasd gubergren, no sea takimata sanctus est.</item></string-array>/res/layout/spinner_item.xml:<TextView xmlns:android="http://schemas.android.com/apk/res/android"    android:id="@android:id/text1"    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" />设置Adapter:spinner.setAdapter(ArrayAdapter.createFromResource(this,            R.array.items,            R.layout.spinner_item));
查看完整描述

3 回答

  • 3 回答
  • 0 关注
  • 597 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信