为什么我看不到同一行上的所有3个ImageButton?

时间:2016-08-18 03:43:46

标签: android android-layout

我正在尝试创建一个布局(我可以包含在其他布局中),其中包含3个图像按钮(背面,菜单,前进)。

这三个图像按钮应该在同一行上(因为稍后我会将此布局包含在每个布局底部的其他布局中)

我不明白我做错了什么,我看不到所有3个按钮,而且它们不在同一行(同一水平线)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">



    <ImageButton
        android:id="@+id/buttomMenuBack"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Back"
        android:background="@drawable/back_button"
        android:onClick="onClickButtomMenu"/>

    <ImageButton
        android:id="@+id/buttomMenuMenu"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Menu"
        android:background="@drawable/HomButton"
        android:onClick="onClickButtomMenu"/>

    <ImageButton
        android:id="@+id/buttomMenuForward"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Forward"
        android:background="@drawable/forward_button"
        android:onClick="onClickButtomMenu"/>

</LinearLayout>

enter image description here

3 个答案:

答案 0 :(得分:1)

它不合适,因为它看起来有些图像太大了,但我们可以按比例对它进行加权以使其适合。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal"
    android:weightSum="3">

    <ImageButton
        android:id="@+id/buttomMenuBack"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Back"
        android:background="@drawable/back_button"
        android:onClick="onClickButtomMenu"/>

    <ImageButton
        android:id="@+id/buttomMenuMenu"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="Menu"
        android:background="@drawable/HomButton"
        android:onClick="onClickButtomMenu"/>

    <ImageButton
        android:id="@+id/buttomMenuForward"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="Forward"
        android:background="@drawable/forward_button"
        android:onClick="onClickButtomMenu"/>

</LinearLayout>

使用weightSumlayout_weight,3和1,我们确保它们都占用了linearlayout的1/3空间(哦,layout_width是0,因为layout_weight会覆盖它)

答案 1 :(得分:0)

您可以将LinearLayout定向为&#34;水平&#34;。这将使所有视图显示在一行中。此LinearLayout可以作为嵌套布局驻留在另一个布局中,例如RelativeLayout。您也可以通过在其他XMLlayout中导入它来使用此布局设计。

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal">
    <ImageButton
        android:id="@+id/buttomMenuBack"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Back"
        android:background="@drawable/back_button"
        android:onClick="onClickButtomMenu"/>

    <ImageButton
        android:id="@+id/buttomMenuMenu"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Menu"
        android:background="@drawable/HomButton"
        android:onClick="onClickButtomMenu"/>

    <ImageButton
        android:id="@+id/buttomMenuForward"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Forward"
        android:background="@drawable/forward_button"
        android:onClick="onClickButtomMenu"/>
</LinearLayout>

答案 2 :(得分:-1)

看起来像不同大小的图像。 假设你有这些水平线性布局;尝试将高度更改为固定的dp,并将所有三个图像按钮的权重设置为1

示例:

os.chdir('..')

如果对所有三个图像按钮执行此操作,它们将填满屏幕并且所有高度相同,彼此相邻。