Android:文本大小更改时布局会中断

Android:文本大小更改时布局会中断,android,xml,layout,Android,Xml,Layout,下面是我的安卓3个按钮的布局。它看起来很好。但是,当我将单个按钮的文本大小更改为其他值时,它会破坏布局(字体大小和重力改变了,但是) 以前 <LinearLayout android:weightSum="1.0" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:lay

下面是我的安卓3个按钮的布局。它看起来很好。但是,当我将单个按钮的文本大小更改为其他值时,它会破坏布局(字体大小和重力改变了,但是)

以前

<LinearLayout android:weightSum="1.0"
        android:layout_width="fill_parent" android:layout_height="wrap_content"
        android:layout_alignParentBottom="true" android:layout_marginBottom="20dp"
        android:background="#FFF">

        <Button android:id="@+id/allimagebtn" android:layout_weight=".30"
            android:layout_height="60dp"
            android:textColor="#FFF"
            android:background="@drawable/cam_red" android:text="Images" android:gravity="bottom" android:paddingLeft="10dp" android:layout_marginTop="2dp" android:paddingTop="2dp" android:layout_width="100dp" android:layout_margin="2dp"/>

        <Button android:id="@+id/button2video" android:layout_weight=".30"
            android:layout_height="60dp"
            android:background="@drawable/vid_red" android:textColor="#FFF" android:text="Video Files" android:gravity="bottom" android:textSize="12dp" android:paddingLeft="10dp" android:paddingTop="2dp" android:layout_width="100dp" android:layout_marginTop="2dp"/>

        <Button android:id="@+id/button3audio" android:layout_weight=".30"
            android:layout_height="60dp"
            android:textColor="#FFF"
            android:background="@drawable/aud_red" android:text="Audio Files" android:gravity="bottom" android:textSize="12dp" android:paddingLeft="10dp" android:paddingTop="2dp" android:layout_marginTop="2dp" android:layout_width="100dp" android:layout_margin="2dp"/>

    </LinearLayout>

之后


图像 ![在此处输入图像描述][1]![在此处输入图像描述][2]

如何避免这种情况

谢谢你抽出时间


似乎您正在设置
布局重量
布局宽度

尝试此操作(将
layout\u weight
设置为
1
,将
layout\u width
设置为
0

如果适合您,它应该会起作用(线性布局子女的均匀分布

试试这个

<LinearLayout 
        android:layout_width="fill_parent" android:layout_height="wrap_content"
        android:layout_alignParentBottom="true" android:layout_marginBottom="20dp"
        android:background="#FFF">

        <Button android:id="@+id/allimagebtn" android:layout_weight="1"
            android:layout_height="60dp"
            android:textColor="#FFF"
            android:background="@drawable/cam_red" android:text="Images" android:gravity="bottom" android:paddingLeft="10dp" android:layout_marginTop="2dp" android:paddingTop="2dp" android:layout_width="0dp" android:layout_margin="2dp"/>

        <Button android:id="@+id/button2video" android:layout_weight="1"
            android:layout_height="60dp"
            android:background="@drawable/vid_red" android:textColor="#FFF" android:text="Video Files" android:gravity="bottom" android:textSize="12dp" android:paddingLeft="10dp" android:paddingTop="2dp" android:layout_width="0dp" android:layout_marginTop="2dp"/>

        <Button android:id="@+id/button3audio" android:layout_weight="1"
            android:layout_height="60dp"
            android:textColor="#FFF"
            android:background="@drawable/aud_red" android:text="Audio Files" android:gravity="bottom" android:textSize="12dp" android:paddingLeft="10dp" android:paddingTop="2dp" android:layout_marginTop="2dp" android:layout_width="0dp" android:layout_margin="2dp"/>

    </LinearLayout>

似乎您正在设置
布局重量
布局宽度

尝试此操作(将
layout\u weight
设置为
1
,将
layout\u width
设置为
0

如果适合您,它应该会起作用(线性布局子女的均匀分布

试试这个

<LinearLayout 
        android:layout_width="fill_parent" android:layout_height="wrap_content"
        android:layout_alignParentBottom="true" android:layout_marginBottom="20dp"
        android:background="#FFF">

        <Button android:id="@+id/allimagebtn" android:layout_weight="1"
            android:layout_height="60dp"
            android:textColor="#FFF"
            android:background="@drawable/cam_red" android:text="Images" android:gravity="bottom" android:paddingLeft="10dp" android:layout_marginTop="2dp" android:paddingTop="2dp" android:layout_width="0dp" android:layout_margin="2dp"/>

        <Button android:id="@+id/button2video" android:layout_weight="1"
            android:layout_height="60dp"
            android:background="@drawable/vid_red" android:textColor="#FFF" android:text="Video Files" android:gravity="bottom" android:textSize="12dp" android:paddingLeft="10dp" android:paddingTop="2dp" android:layout_width="0dp" android:layout_marginTop="2dp"/>

        <Button android:id="@+id/button3audio" android:layout_weight="1"
            android:layout_height="60dp"
            android:textColor="#FFF"
            android:background="@drawable/aud_red" android:text="Audio Files" android:gravity="bottom" android:textSize="12dp" android:paddingLeft="10dp" android:paddingTop="2dp" android:layout_marginTop="2dp" android:layout_width="0dp" android:layout_margin="2dp"/>

    </LinearLayout>

我检查了你的代码。您已经固定了视图的高度和宽度,这不是一个好主意。
我测试了wrap_内容,效果很好。因此,尽量避免固定的高度和宽度,而是使用wrap_内容和fill_父项,以满足您的需要。如果遇到任何问题,您可以使用相对布局。

我检查了您的代码。您已经固定了视图的高度和宽度,这不是一个好主意。
我测试了wrap_内容,效果很好。因此,尽量避免固定的高度和宽度,而是使用wrap_内容和fill_父项,以满足您的需要。如果遇到任何问题,您可以使用相对布局。

我看到您的代码必须添加到线性布局中的android:gravity=“center”

比如说,

     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
            android:weightSum="1.0" android:layout_width="fill_parent"  
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true" 
            android:layout_marginBottom="20dp"
            android:background="#FFF" android:gravity="center">
     </LinearLayout>

我想你的问题会解决的。试试看


谢谢。

我看到你的代码,你必须在线性布局中添加安卓:gravity=“center”

比如说,

     <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
            android:weightSum="1.0" android:layout_width="fill_parent"  
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true" 
            android:layout_marginBottom="20dp"
            android:background="#FFF" android:gravity="center">
     </LinearLayout>

我想你的问题会解决的。试试看


谢谢。

“破坏布局”不是最有用的描述。你能更具体地说明你期望看到什么,以及你看到了什么吗?截图获得额外积分。带注释的截图得到独角兽。我用scren截图更改并添加了更多信息。你能帮我查一下吗:)更有用。我想试试看,但下面三个人已经有了我最好的猜测“破坏布局”不是最有用的描述。你能更具体地说明你期望看到什么,以及你看到了什么吗?截图获得额外积分。带注释的截图得到独角兽。我用scren截图更改并添加了更多信息。你能帮我查一下吗:)更有用。我想试试看,但下面三个人已经有了我最好的猜测谢谢,我改为填充父母的身高,效果很好:)谢谢,我改为填充父母的身高,效果很好:)就像@Mansi说的添加重力=中心。。。但问题是,您使用的是百分比权重,同时设置宽度。。。为什么我的代码不起作用!?就像@Mansi说的,加上重力=中心。。。但问题是,您使用的是百分比权重,同时设置宽度。。。为什么我的代码不起作用!?