我正在尝试创建一个布局(我可以包含在其他布局中),其中包含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>
答案 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>
使用weightSum
和layout_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('..')
如果对所有三个图像按钮执行此操作,它们将填满屏幕并且所有高度相同,彼此相邻。