我想水平放置五个图像按钮,但是当我这样做时,我在一些设备中只能获得4个按钮

时间:2013-10-12 17:37:08

标签: android xml android-layout imagebutton

有没有办法在同一列中看到所有5个ImageButton?我正在开发一个计算器应用程序,它有5列6行。即使我在某些设备上获得5个按钮,我也无法在小型设备上获得所有按钮。有没有办法做到这一点?这是我正在处理的xml。

<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:orientation="vertical" >

    <TextView
        android:id="@+id/txtStack"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5sp"
        android:layout_marginRight="5sp"
        android:layout_marginTop="3sp"
        android:gravity="right"
        android:text="txt stack"
        android:textSize="15sp" />

    <TextView
        android:id="@+id/txtInput"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5sp"
        android:layout_marginRight="5sp"
        android:gravity="right"
        android:text="text input"
        android:textSize="25sp" />

    <TextView
        android:id="@+id/txtMemory"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5sp"
        android:layout_marginRight="5sp"
        android:gravity="left"
        android:text="for memory"
        android:textSize="15sp" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp" >

        <ImageButton
            android:id="@+id/imageButton1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/button_mc" />


        <ImageButton
            android:id="@+id/imageButton2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/button_mr" />

        <ImageButton
            android:id="@+id/imageButton2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/button_ms" />

        <ImageButton
            android:id="@+id/imageButton2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/button_m_plus" />

        <ImageButton
            android:id="@+id/imageButton2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/button_m_minus" />
    </LinearLayout>

</LinearLayout>

2 个答案:

答案 0 :(得分:0)

如果您将5张图像水平放置,则可能会从屏幕上移开。如果您遇到这个问题,我建议将图像放在滚动视图中。

答案 1 :(得分:0)

按以下方式使用重量

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:weightSum="5"  >

        <ImageButton
            android:id="@+id/imageButton1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/button_mc"
            android:layout_weight="1" />


        <ImageButton
            android:id="@+id/imageButton2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/button_mr"
            android:layout_weight="1"/>

        <ImageButton
            android:id="@+id/imageButton2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/button_ms"
            android:layout_weight="1" />

        <ImageButton
            android:id="@+id/imageButton2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/button_m_plus"
            android:layout_weight="1" />

        <ImageButton
            android:id="@+id/imageButton2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/button_m_minus"
            android:layout_weight="1" />
    </LinearLayout>

希望这有效