【问题标题】:How to properly distribute 4 buttons on an android layout如何在 android 布局上正确分配 4 个按钮
【发布时间】:2012-07-03 07:38:55
【问题描述】:

我试图将 4 个图像按钮分配到 android 布局的 4 个可能的屏幕角(无论 res)。我希望图像背景是静态的(即 50x50 dip),并且我还希望在背景中全屏显示 android.gesture.GestureOverlayView 层。我很难弄清楚这一点,而且我对 droid dev 非常陌生。 使用 eclipse+AVD 2.1.1

非常感谢!!

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#6495ED"
    android:gravity="fill"
    android:launchMode="singleInstance"
    android:orientation="vertical" >

    <!-- ICON -->
    <ImageView
        android:id="@+id/icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

    <TableLayout
        android:id="@+id/tableLayout2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="0"
        android:stretchColumns="*">


        <TableRow
            android:id="@+id/tableRow5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

       <!-- SETTINGS -->
            <Button
                android:id="@+id/button1"
                android:layout_width="50dip"
                android:layout_height="50dip"
                android:layout_gravity="left"
                android:layout_weight="1"
                android:background="@drawable/options"
                android:clickable="true"
                android:minHeight="50dp"
                android:minWidth="50dp"
                android:visibility="visible" />

        <!-- LIST -->
            <Button
                android:id="@+id/button4"
                android:layout_width="0dip"
                android:layout_height="50dip"
                android:layout_gravity="right"
                android:layout_weight="1"
                android:background="@drawable/list"
                android:clickable="true"
                android:maxHeight="50dp"
                android:maxWidth="50dp"
                android:visibility="visible" />
        </TableRow>



   <!-- GESTURE (GOES FULL SCREEN ON BACKGROUND -->
   <android.gesture.GestureOverlayView
        android:id="@+id/gestureOverlayView1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
   </android.gesture.GestureOverlayView>

        <TableRow>
    <!-- SEARCH -->
        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="left"
            android:background="@drawable/find"
            android:clickable="true"
            android:maxHeight="50dp"
            android:maxWidth="50dp"
            android:visibility="visible" />


    <!-- CLOSE -->
        <Button
            android:id="@+id/button3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:background="@drawable/close"
            android:gravity="right|top" 
            android:clickable="true"
            android:Height="50dp"
            android:Width="50dp"
            android:visibility="visible" />

        </TableRow>

    </TableLayout>
</LinearLayout>

【问题讨论】:

    标签: java android xml layout


    【解决方案1】:

    使用Relative布局:

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/RelativeLayout"
        android:layout_width="fill_parent"
        android:background="#6495ED"    
        android:layout_height="fill_parent"    
        tools:ignore="HardcodedText" >   
    
    <ImageView
        android:id="@+id/icon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />
    
    <android.gesture.GestureOverlayView
        android:id="@+id/gestureOverlayView1"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
    </android.gesture.GestureOverlayView>    
    
        <Button
            android:id="@+id/button1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button1" />
    
        <Button
            android:id="@+id/button2"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:layout_alignParentRight="true"
            android:text="Button2" />  
    
        <Button
            android:id="@+id/button3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            android:text="Button3" />
    
        <Button
            android:id="@+id/button4"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentBottom="true"
            android:text="Button4" />
    
    
    </RelativeLayout>
    

    【讨论】:

      【解决方案2】:

      RelativeLayout 是关键:

      <?xml version="1.0" encoding="utf-8"?>
      <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:id="@+id/Frame"
          android:layout_width="fill_parent"
          android:layout_height="fill_parent" android:background="#6495ED">
      
          <android.gesture.GestureOverlayView
              android:id="@+id/gestureOverlayView1"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent">
          </android.gesture.GestureOverlayView>
      
          <ImageButton
              android:id="@+id/imageButton1"
              android:layout_width="50dp"
              android:layout_height="50dp"
              android:layout_alignParentLeft="true"
              android:layout_alignParentTop="true"
              android:background="#F00" />
      
          <ImageButton
              android:id="@+id/imageButton2"
              android:layout_width="50dp"
              android:layout_height="50dp"
              android:layout_alignParentRight="true"
              android:layout_alignParentTop="true"
              android:background="#F00" />
      
          <ImageButton
              android:id="@+id/imageButton3"
              android:layout_width="50dp"
              android:layout_height="50dp"
              android:layout_alignParentBottom="true"
              android:layout_alignParentLeft="true"
              android:background="#F00" />
      
          <ImageButton
              android:id="@+id/imageButton4"
              android:layout_width="50dp"
              android:layout_height="50dp"
              android:layout_alignParentBottom="true"
              android:layout_alignParentRight="true"
              android:background="#F00" />
      
      </RelativeLayout>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-11-24
        • 1970-01-01
        • 1970-01-01
        • 2013-09-14
        • 2012-09-15
        • 2012-09-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多