2016-08-18 84 views
1

我试图创建一个布局(我可以包含在其他布局中),其中包含3个图像按钮(后退,菜单,前进)。为什么不能在同一行看到所有3个ImageButton?

那些3个图像按钮应该是在同一行(因为后来我将包括该布局的其他布局中的每个布局的底部)

我不明白我在做什么错了,我可以“T看到的所有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

+0

你能发布代码绕过这个呢? – user3331142

+0

请添加完整的布局xml。 – sumandas

+0

“一个布局”?哪个布局?希望你知道Android本身有几个预定义的布局。 – kosa

回答

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,我们要确保他们都各自采取的空间的1/3,在你的LinearLayout(呵呵,layout_width是0,因为layout_weight覆盖它)

-1

看起来不同大小的图像。 假设你有这些在水平线性布局;尝试改变高度,以一个固定的DP和把重量为1的所有三个imagebuttons

例子:

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

如果你这样做的所有三个imagebuttons,他们将填满整个屏幕,所有相同身高,彼此相邻。

+0

不能看到我的答案20分钟前lol – LBJ33

0

您可以使用LinearLayout,方向为“水平”。这将使所有视图都连续出现。此LinearLayout可以作为嵌套布局驻留在另一个布局中,例如RelativeLayout。您也可以通过将其导入其他XMLlayouts来使用此布局设计。

<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> 
+0

我已经尝试过,但它不起作用 – user3668129

+0

看起来像图像尺寸太大,不适合在屏幕上。 Android设备的理想图像尺寸应该像36x36,48x48,72x72或96x96一样,具体取决于不同的屏幕尺寸。 Android工作室提供了一个选项,可以为不同的屏幕尺寸设置图像格式 – pradyneo

相关问题