Android:布局底部的菜单

Android:布局底部的菜单,android,android-layout,samsung-mobile,Android,Android Layout,Samsung Mobile,我正在为SPen开发一个Android应用程序。我在获取线性布局中的底部菜单以显示在相关窗口中的SCanvasView下方时遇到一些问题。它必须是我在canvas_容器中设置的属性,因为我可以在将canvas_容器的高度设置为特定大小时显示底部菜单 我给底部菜单的属性是android:layout\u alignParentBottom=“true” 简化布局:我只希望顶部和底部的菜单栏(都包含ImageView)以及它们之间的空间用SCanvasView和ImageView(大小相同)填充。

我正在为SPen开发一个Android应用程序。我在获取线性布局中的底部菜单以显示在相关窗口中的SCanvasView下方时遇到一些问题。它必须是我在canvas_容器中设置的属性,因为我可以在将canvas_容器的高度设置为特定大小时显示底部菜单

我给底部菜单的属性是android:layout\u alignParentBottom=“true”

简化布局:我只希望顶部和底部的菜单栏(都包含ImageView)以及它们之间的空间用SCanvasView和ImageView(大小相同)填充。

下面是一些简化的代码:

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

    <LinearLayout
        android:id="@+id/menu1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">                               
        <ImageView
            android:gravity="left"
            android:id="@+id/iv_top1"
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"
            android:adjustViewBounds="true"
            android:src="@drawable/topimage1"
            android:layout_weight=".25"/>
        <ImageView
            android:gravity="left"
            android:id="@+id/iv_top2"
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"
            android:adjustViewBounds="true"
            android:src="@drawable/topimage2"
            android:layout_weight=".25"/>           
    </LinearLayout>

    <LinearLayout 
        android:id="@+id/menu4"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:weightSum="1.0"
        android:layout_alignParentBottom="true">  
        <ImageView
            android:gravity="left"
            android:id="@+id/iv_bottom1"
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"
            android:adjustViewBounds="true"
            android:src="@drawable/bottomimage1"
            android:layout_weight=".25"/>
        <ImageView
            android:gravity="left"
            android:id="@+id/iv_bottom1"
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content"
            android:adjustViewBounds="true"
            android:src="@drawable/bottomimage1"
            android:layout_weight=".25"/>
    </LinearLayout>

    <RelativeLayout 
        android:id="@+id/canvas_container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <com.samsung.spensdk.SCanvasView 
            android:id="@+id/canvas_view"
            android:layout_width="wrap_content"
            android:layout_height="match_parent" />

        <ImageView
            android:id="@+id/imgView"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:visibility="gone"/>
    </RelativeLayout>

</RelativeLayout>

我想我误解了,但是在这种情况下,垂直
方向的
线性布局可能会更好。这样您就可以使用
weightSum
。将菜单的
weightSum
设置为4,然后将每个
LinearLayout
的权重设置为1,将
RelativeLayout
权重设置为2,或者根据需要进行调整


还要注意,
RelativeLayout
没有
orientation
属性。当使用
weights
weightSum
时,您希望每个
视图的
宽度
对于
水平方向
高度
设置为
0dp
对于
垂直方向

底部的重量可能因屏幕大小不同而不同