如何根据内容增加或减少Android文本视图大小?

时间:2012-03-19 20:47:09

标签: android xml android-layout relativelayout textview

Width + wrap_content可以与我的布局中的其他单行TextView一起使用。但是,我的多行TextViews既不会缩小也不会增长以适应其中的数字。理想情况下,我希望视图包含它的高度和宽度以适合其中的内容。

TextViews 1-10(位于每个按钮顶部的textViews)是单行的,可以按照我的要求工作。它们根据它们的大小进行扩展和缩小(包装内容可以正常工作)。

TextViews 11-20的大小是固定的,尽管除了多线程之外还有相同的代码,它们不会收缩或扩展。 (他们在字符串中使用\ n)。它们应该由两个垂直放置的0到100之间的数字组成。

接口

enter image description here

<?xml version="1.0" encoding="utf-8"?>

                                                                                              

            <TextView android:id="@+id/textView1" android:layout_alignLeft="@+id/imageButton1" android:background="#000000" android:layout_width="wrap_content" android:text="0/0/0" android:layout_below="@+id/imageButton1" android:textAppearance="?android:attr/textAppearanceSmall" android:visibility="invisible" android:layout_height="wrap_content"></TextView>
    <TextView android:id="@+id/textView5" android:layout_alignLeft="@+id/imageButton5" android:background="#000000" android:layout_width="wrap_content" android:text="0/0/0" android:layout_above="@+id/imageButton5" android:textAppearance="?android:attr/textAppearanceSmall" android:visibility="invisible" android:layout_height="wrap_content"></TextView>
    <TextView android:id="@+id/textView7" android:background="#000000" android:layout_width="wrap_content" android:text="0/0/0" android:layout_above="@+id/imageButton7" android:textAppearance="?android:attr/textAppearanceSmall" android:visibility="invisible" android:layout_height="wrap_content" android:layout_alignParentLeft="true"></TextView>
    <TextView android:id="@+id/textView8" android:layout_alignBottom="@+id/textView3" android:background="#000000" android:layout_width="wrap_content" android:text="0/0/0" android:textAppearance="?android:attr/textAppearanceSmall" android:visibility="invisible" android:layout_height="wrap_content" android:layout_alignParentLeft="true"></TextView>
    <TextView android:id="@+id/textView9" android:background="#000000" android:layout_width="wrap_content" android:text="0/0/0" android:layout_below="@+id/imageButton9" android:textAppearance="?android:attr/textAppearanceSmall" android:visibility="invisible" android:layout_height="wrap_content" android:layout_alignParentLeft="true"></TextView>
    <TextView android:id="@+id/textView10" android:layout_alignLeft="@+id/imageButton10" android:background="#000000" android:layout_width="wrap_content" android:text="0/0/0" android:layout_below="@+id/imageButton10" android:textAppearance="?android:attr/textAppearanceSmall" android:visibility="invisible" android:layout_height="wrap_content"></TextView>
    <TextView android:id="@+id/textView6" android:layout_alignBottom="@+id/textView7" android:layout_alignLeft="@+id/imageButton6" android:background="#000000" android:layout_width="wrap_content" android:layout_alignBaseline="@+id/textView7" android:text="0/0/0" android:visibility="invisible" android:layout_height="wrap_content"></TextView>
    <TextView android:id="@+id/textView4" android:layout_alignBottom="@+id/textView5" android:layout_alignLeft="@+id/imageButton4" android:background="#000000" android:layout_width="wrap_content" android:layout_alignBaseline="@+id/textView5" android:text="0/0/0" android:visibility="invisible" android:layout_height="wrap_content" android:layout_marginLeft="-10dp"></TextView>
    <TextView android:id="@+id/textView3" android:layout_alignLeft="@+id/imageButton3" android:background="#000000" android:layout_width="wrap_content" android:text="0/0/0" android:layout_above="@+id/imageButton3" android:textAppearance="?android:attr/textAppearanceSmall" android:visibility="invisible" android:layout_height="wrap_content" android:layout_marginLeft="-10dp"></TextView>
    <TextView android:id="@+id/textView2" android:layout_alignBottom="@+id/textView1" android:layout_alignLeft="@+id/imageButton2" android:background="#000000" android:layout_width="wrap_content" android:layout_alignBaseline="@+id/textView1" android:text="0/0/0" android:textAppearance="?android:attr/textAppearanceSmall" android:visibility="invisible" android:layout_height="wrap_content" android:layout_marginLeft="-10dp"></TextView>


    <TextView android:id="@+id/textView11" android:visibility="invisible" android:background="#000000" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_alignParentTop="true" android:layout_toLeftOf="@+id/imageButton1" android:layout_toRightOf="@+id/nextHandButton" android:layout_above="@+id/textView1"></TextView>
    <TextView android:id="@+id/textView12" android:visibility="invisible" android:background="#000000" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_alignParentTop="true" android:layout_toLeftOf="@+id/imageButton2" android:layout_above="@+id/textView2" android:layout_alignLeft="@+id/textView2"></TextView>
    <TextView android:id="@+id/textView13" android:visibility="invisible" android:background="#000000" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_alignTop="@+id/imageButton3" android:layout_alignRight="@+id/textView12" android:layout_above="@+id/imageView4" android:layout_alignLeft="@+id/textView3"></TextView>
    <TextView android:id="@+id/textView14" android:visibility="invisible" android:background="#000000" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_alignParentBottom="true" android:layout_alignLeft="@+id/textView4" android:layout_alignTop="@+id/imageButton4" android:layout_toLeftOf="@+id/imageButton4"></TextView>
    <TextView android:id="@+id/textView15" android:visibility="invisible" android:background="#000000" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_below="@+id/textView5" android:layout_toLeftOf="@+id/imageButton5" android:layout_alignParentBottom="true" android:layout_alignLeft="@+id/textView11"></TextView>
    <TextView android:id="@+id/textView16" android:visibility="invisible" android:background="#000000" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_alignTop="@+id/imageButton6" android:layout_alignLeft="@+id/imageView6" android:layout_alignParentBottom="true" android:layout_toLeftOf="@+id/nextHandButton"></TextView>
    <TextView android:id="@+id/textView17" android:visibility="invisible" android:background="#000000" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_alignTop="@+id/imageButton7" android:layout_toRightOf="@+id/imageButton7" android:layout_alignParentBottom="true" android:layout_toLeftOf="@+id/textView6" android:layout_marginRight="50dp"></TextView>
    <TextView android:id="@+id/textView18" android:visibility="invisible" android:background="#000000" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_below="@+id/textView8" android:layout_toRightOf="@+id/imageButton8" android:layout_alignBottom="@+id/imageView7" android:layout_alignRight="@+id/textView17" android:maxLines="2"></TextView>
    <TextView android:id="@+id/textView19" android:visibility="invisible" android:background="#000000" android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_alignParentTop="true" android:layout_toRightOf="@+id/imageButton9" android:layout_alignBottom="@+id/imageButton9" android:layout_alignRight="@+id/textView18"></TextView>
    <TextView android:id="@+id/textView20" android:visibility="invisible" android:background="#000000" android:layout_width="wrap_content" android:layout_alignParentTop="true" android:layout_alignLeft="@+id/imageView10" android:layout_alignBottom="@+id/imageButton10" android:layout_alignRight="@+id/textView16" android:layout_height="wrap_content" android:maxLines="2"></TextView>
</RelativeLayout>

1 个答案:

答案 0 :(得分:1)

这里发生的事情是使用日食拖放图形布局与机器人相对布局而不是自己键入相对约束。存在不必要的限制,例如:

android:layout_alignRight="@+id/textView18"

上述约束会阻止视图向右扩展。这些约束阻止宽度或高度换行内容属性生效。如果您遇到类似的问题,请仔细查看代码中的相对布局约束,这些约束可能会覆盖您的Views能够按照您希望的方向扩展或缩小。