TextView在足够长时间内切断文本

时间:2011-12-23 13:27:14

标签: android android-widget

我对TextView有一个奇怪的问题,它最后切断了部分文本。我的布局看起来像

<LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="top|center_horizontal"
        android:gravity="top|center_horizontal"
        android:orientation="vertical" >
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_gravity="top|center_horizontal"
            android:gravity="top|center_horizontal"
            android:orientation="horizontal"
            android:layout_weight="1"
            android:layout_marginBottom="5dp">
            <Button
                android:id="@+id/btnPreviousQuestion"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/selector_arrow_left"
                android:clickable="true"
                android:visibility="gone" >
            </Button>
            <TextView
                android:id="@+id/txtQuestion"
                style="@style/question_text"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:gravity="top|center_horizontal"
                android:layout_weight="1"
                 />
            <Button
                android:id="@+id/btnNextQuestion"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginRight="10dp"
                android:background="@drawable/selector_arrow_right"
                android:clickable="true" >
            </Button>
        </LinearLayout>
        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:layout_weight="1"
            android:orientation="horizontal" >
            <WebView
                android:id="@+id/wvMultimediaQuestion"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="bottom|center_horizontal"
                android:layout_marginLeft="50dp"
                android:layout_marginRight="55dp"
                android:layout_weight="1"
                android:visibility="gone" />
        </LinearLayout>
    </LinearLayout>

和txtQuestion在文本足够长时切断文本。有什么不对,有人知道吗?

6 个答案:

答案 0 :(得分:52)

利用这些属性

    android:lines="1"
    android:scrollHorizontally="true"
    android:ellipsize="end"

最后会追加“......”。但这不会解决蜂窝标签中的问题

因此,对于蜂窝片,还要添加以下内容

android:singleLine="true" 

另一方面,如果你需要选框效果

android:singleLine="true"
android:ellipsize="marquee" 
android:marqueeRepeatLimit="marquee_forever"
android:scrollHorizontally="true" 
android:focusable="true" 
android:focusableInTouchMode="true

答案 1 :(得分:5)

是的,你需要设置一些属性,但首先让我们知道你想要什么类型的textview,单行还是多行?

您可以使用以下属性:

android:singleLine="true"  // or false
android:ellipsize="marquee"   // must check
android:lines="1"

答案 2 :(得分:0)

你需要设置     机器人:的minlines = “2”

答案 3 :(得分:0)

如果您希望视图的文字长度不同,或者您要更改textSize的不同实例的TextView,那么您应该使用View.addOnLayoutChangeListener()

请在此处查看示例:https://stackoverflow.com/a/44069734/1402087

答案 4 :(得分:0)

在布局文件中设置以下属性。对我来说很好

android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"
android:focusableInTouchMode="true"

答案 5 :(得分:0)

对我来说,我意识到我正在使用与我正在测试的设备不同的设备的布局视图。当我更正这个时,我可以看到 textlayout 太宽了,所以我用这个设置来控制它:

android:layout_width="330dp"