我第一次注意到这是因为AlertDialogs将整个消息放在第一行,即使我指定了一个新行(“\ n”)。在ICS上它显示正确的方式,但对于我的生活,我无法让它在GB上工作。
最近我又遇到了它。我认为没有任何理由让它在ICS上正常工作,但不能在GB及以下工作。
示例项目
这是一个带有textview,alertdialog和两个标准textview的示例项目。
https://github.com/T3hh4xx0r/Text-Example
修改
这是我问过的原始问题。似乎问题比我最初注意到的还要多。
Android AlertDialog not displaying entire setMessage on certain devices
/修改
以下是我的意思的可视化示例。
即使专门为textView设置多行,文本仍然是一行,但下面有额外的空白行。
答案 0 :(得分:6)
以下是alertdialog用于创建视图的布局:
<!--
This layout file is used by the AlertDialog when displaying a list of items.
This layout file is inflated and used as the TextView to display individual
items.
-->
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:minHeight="?android:attr/listPreferredItemHeight"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@android:color/primary_text_light_disable_only"
android:gravity="center_vertical"
android:paddingLeft="14dip"
android:paddingRight="15dip"
android:ellipsize="marquee"
/>
正如你所看到的那样,ellipsize被设置为marquee,所以我不相信它曾经是为了允许多行而写的。
目前有一个错误打开,永远不会显示椭圆点:http://code.google.com/p/android/issues/detail?id=10554
因此行动正确。
如果你想要它去多行,创建你自己的布局文件并将其传递给你的对话框,这样你就可以有更多的控制权。