以下是3个按钮的android布局。它看起来不错,很好。但是,当我将按钮的单个按钮的文本大小更改为其他值时,它会破坏布局(字体大小和重力会发生变化但是)。
前
<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>
在
<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:paddingLeft="10dp" android:layout_marginTop="2dp" android:paddingTop="2dp" android:layout_width="100dp" android:layout_margin="2dp" android:textSize="30dp" android:text="1" android:gravity="top"/>
<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]
如何避免这种情况?
感谢您的时间。
答案 0 :(得分:2)
我检查了你的代码。你已经修复了视图的高度和宽度,这不是一个好主意。 我测试了wrap_content并且工作正常。所以尽量避免固定的高度和宽度,而是使用适合您需要的wrap_content和fill_parent。如果您遇到任何问题,可以使用相对布局。
答案 1 :(得分:1)
似乎您正在设置layout_weight
和layout_width
试试这个(将layout_weight
设为1
,将layout_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>
答案 2 :(得分:1)
我看到你的代码必须在你的LinearLayout中添加 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>
我认为您的问题将得到解决。试试吧。
感谢。