我需要调整3个按钮的大小以适应每个屏幕尺寸,所以我尝试使用垂直线性布局,但结果如下:
这是我在ldpi / mdpi设备上获得的结果,但当我切换到更高分辨率(如hdpi)时,我得到了这个:
第三个按钮变焦。
如何调整3个按钮的大小以适应屏幕?
答案 0 :(得分:3)
将按钮放在linearlayout (horizontal)
将android:weightSum="3"
添加到线性布局
为每个android:layout_weight="1"
添加buttons
并制作layout_width="0dp"
这将根据设备的大小响应buttons
(宽度)。
答案 1 :(得分:3)
试试这个:
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="50dp"
android:background="#5E616B"
android:gravity="center_horizontal"
android:orientation="horizontal"
android:weightSum="1" >
<ImageButton
android:id="@+id/btn_pingsheet"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="15dp"
android:layout_marginTop="2dp"
android:layout_weight=".2"
android:background="@drawable/footer_button_pressed"
android:src="@drawable/pingicon" />
<ImageButton
android:id="@+id/btn_myprofile"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="15dp"
android:layout_marginTop="2dp"
android:layout_weight=".2"
android:background="@drawable/footer_button_pressed"
android:src="@drawable/profile" />
<ImageButton
android:id="@+id/btn_mycircle"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="15dp"
android:layout_marginTop="2dp"
android:layout_weight=".2"
android:background="@drawable/footer_button_pressed"
android:src="@drawable/mycircle" />
<ImageButton
android:id="@+id/btn_sendping"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="15dp"
android:layout_marginTop="2dp"
android:layout_weight=".2"
android:background="@drawable/footer_button_pressed"
android:src="@drawable/sendping" />
<ImageButton
android:id="@+id/btn_settings"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginLeft="15dp"
android:layout_marginTop="2dp"
android:layout_weight=".2"
android:background="@drawable/footer_button_pressed"
android:src="@drawable/settings" />
</LinearLayout>
这里的基本概念是采用带有 weightsum 的线性布局.1。然后将该权重分成每个按钮(我已经取了5个按钮,因此每个按钮分为.2 强>)。您可以使用android:layout_weight=".2"
属性划分权重。也不要忘记将线性布局的方向设置为水平。
答案 2 :(得分:2)
试试这个:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="3" >
<Button
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="b1" />
<Button
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="b2" />
<Button
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="b3" />
</LinearLayout>