TextView仅显示资源字符串的前四行

时间:2012-12-14 13:21:58

标签: android layout textview

我在对话框中显示某些文字时遇到问题。当用户忘记密码时,我会使用“忘记密码”TextView来显示一条消息,说明他们放入电子邮件地址时会发生什么。布局是:

<TextView
    android:id="@+id/forgotpasswordtextview"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/forgotpassword"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:textColor="@color/md_text_yellow"
    android:gravity="right" />

它在<LinearLayout></LinearLayout>内,具有以下属性:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/base_panel"
    android:orientation="vertical"
    android:padding="6dip" >

它以单线视图开始,并扩展为四线视图。

在对话框构造函数中,我有一个布局指令:

    mParent = LayoutInflater.from(context).inflate(R.layout.login, null);

    setContentView(mParent, new ViewGroup.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

我将此更改为对话框高度为600(它工作 - 一个垂直拉伸的对话框),而TextView仍然只显示四行,因此它不会被其父级压缩。

导致这种情况的原因是什么?

修改

TextView更改为android:textAppearance="?android:attr/textAppearanceSmall"会在同一点删除字符串,显示三行。我现在想知道这是否是字符串问题而不是TextView问题。

原始字符串是:

Please enter your registered email and we will send you details of how to reset your password. If you do not know your email then please contact us.

它切断了:

Please enter your registered email and we will send you details of how to reset your password. If you do not

小文字(三行)和

Please enter your registered email and we will send you details of how to reset your password. If you do not know

中文(四行)。

我输入的新测试字符串是:

0________ 1________ 2________ 3________ 4________ 5________ 6________ 7________ 8________ 9________ 10_______ 11_______ 12_______ 13_______ 14_______ 15_______ 16_______ 17_______

它切断了:

0________ 1________ 2________ 3________ 4________ 5________ 6________ 7________ 8________ 9________ 10_______ 11_______ 12_______ 13_______ 14_______

小文字(五行)和

0________ 1________ 2________ 3________ 4________ 5________ 6________ 7________ 8________ 9________ 10_______ 11_______

中文(六行)。

进一步编辑:

缩短字符串表明它正在切断最后一行或两行。可能像Android: Last line of textview cut off。在字符串文件中添加换行符会给我另一行,但不是整个字符串!

1 个答案:

答案 0 :(得分:3)