文本大小增加+ RelativeLayout时重叠Textview

时间:2016-03-15 07:35:09

标签: android android-layout relativelayout android-framelayout

我已尝试过所有但尚未成功的事。

发生了什么。当标题文字较小时,它应该位于父母的中心,完美地工作,但是当文字大小很大时,它与左侧组件重叠

我想要什么:它不应该重叠,而是接下来的设置 char*。它应该在尺寸增加时进行调整。

小尺寸 enter image description here

大尺寸 {{3}}

代码

*ex2

6 个答案:

答案 0 :(得分:1)

因为您对这两个TextView使用了match_parent,这就是为什么它们会重叠,根据您的代码,您可以尝试为第二个TextView添加修补填充。例如,我们认为第一个TextView的文本“设置”的宽度是100dp,因此我们可以更改代码如下。

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="56dp"
    android:background="@android:color/darker_gray" >


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:text="Settings"
        android:gravity="center_vertical"
        android:layout_alignParentLeft="true"
        android:textColor="@android:color/holo_orange_dark"
        android:textSize="16.0sp" />


    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="hiiiiiiiiiiiii StackOverflower!!!!!!!!!!!"
        android:paddingTop="4dp"
        android:paddingBottom="4dp"
        android:paddingLeft="100dp"
        android:paddingRight="100dp"            
        android:gravity="center"
        android:layout_toLeftOf="@+id/txtBack"
        android:textColor="@android:color/white"
        android:textSize="19sp" />
</RelativeLayout>

答案 1 :(得分:0)

将ID设置为您的第一个TextView,然后再将TextView toRightOf设置为第一个。

赞这个

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="56dp"
android:background="@android:color/darker_gray" >


    <TextView

        android:id="@+id/textview1"

        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:text="Settings"
        android:gravity="center_vertical"
        android:layout_alignParentLeft="true"
        android:textColor="@android:color/holo_orange_dark"
        android:textSize="16.0sp" />


    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"

        android:layout_toRightOf="@id/textview1"

        android:text="hiiiiiiiiiiiii StackOverflower!!!!!!!!!!!"
        android:padding="4dp"
        android:gravity="center"
        android:layout_toLeftOf="@+id/txtBack"
        android:textColor="@android:color/white"
        android:textSize="19sp" />
</RelativeLayout>

我希望这会有所帮助。

答案 2 :(得分:0)

试试这个,

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="56dp"
android:background="@android:color/darker_gray" >


    <TextView
        android:id="@+id/txtSetting"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:text="Settings"
        android:gravity="center_vertical"
        android:layout_alignParentLeft="true"
        android:textColor="@android:color/holo_orange_dark"
        android:textSize="16.0sp" />


    <TextView
        android:layout_toRightOf="@+id/txtSetting"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="hiiiiiiiiiiiii StackOverflower!!!!!!!!!!!"
        android:padding="4dp"
        android:gravity="center"
        android:layout_toLeftOf="@+id/txtBack"
        android:textColor="@android:color/white"
        android:textSize="19sp" />
</RelativeLayout>

答案 3 :(得分:0)

使用layout_toLeftOf,alignParentLeft和alignParentRight

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Settings"
        android:id="@+id/txtBack"
                  android:gravity="center_vertical"
        android:layout_alignParentLeft="true"
                android:layout_toLeftOf="@+id/selectaccount"
        android:textColor="@android:color/holo_orange_dark"
       android:textAppearance="?android:attr/textAppearanceMedium" />


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="hiiiiiiiiiiiii StackOverflower!!!!!!!!!!!"
        android:padding="4dp"
        android:gravity="center"
        android:layout_alignParentRight="true"

        android:textColor="@android:color/white"
        android:textAppearance="?android:attr/textAppearanceMedium" />

答案 4 :(得分:0)

只需通过以下代码替换您的代码:

<RelativeLayout
     android:layout_width="match_parent"
     android:layout_height="56dp"
     android:background="@android:color/darker_gray" >


    <TextView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:text="Settings"
        android:gravity="center_vertical"
        android:layout_alignParentLeft="true"
        android:textColor="@android:color/holo_orange_dark"
        android:textSize="16.0sp"
        android:id="@+id/txtSettings" />


    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="hiiiiiiiiiiiii StackOverflower!!!!!!!!!!!"
        android:padding="4dp"
        android:gravity="center"
        android:layout_toRightOf="@+id/txtSettings"
        android:layout_toLeftOf="@+id/txtBack"
        android:textColor="@android:color/white"
        android:textSize="19sp" />
 </RelativeLayout>

答案 5 :(得分:0)

将第二个textview更改为:

<TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:text="hiiiiiiiiiiiii StackOverflower!!!!!!!!!!!"
        android:padding="4dp"
        android:gravity="center"
        android:layout_toRightOf="@+id/firstTextview"
        android:textColor="@android:color/white"
        android:textSize="19sp" />