调整Android屏幕大小不同的按钮

时间:2014-10-06 06:57:24

标签: android xml

我需要调整3个按钮的大小以适应每个屏幕尺寸,所以我尝试使用垂直线性布局,但结果如下:

enter image description here

这是我在ldpi / mdpi设备上获得的结果,但当我切换到更高分辨率(如hdpi)时,我得到了这个:

enter image description here

第三个按钮变焦。

如何调整3个按钮的大小以适应屏幕?

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>