如何正确地分布在一个Android的布局4个按钮 [英] How to properly distribute 4 buttons on an android layout
本文介绍了如何正确地分布在一个Android的布局4个按钮的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试着去分发4图像按钮进入4种可能的屏幕四角(不考虑资源的)的Android的布局。我想要的图像背景是静态的(即50×50 DIP),我也想有android.gesture.GestureOverlayView层上全屏幕的背景。林有一个很难的机器人开发搞清楚了这一点并且我非常纽比。 与Eclipse + AVD 2.1.1工作
非常感谢!
< XML版本=1.0编码=UTF-8&GT?;
< LinearLayout中的xmlns:机器人=http://schemas.android.com/apk/res/android
机器人:layout_width =FILL_PARENT
机器人:layout_height =FILL_PARENT
机器人:后台=#6495ED
机器人:重力=补
机器人:launchMode =singleInstance
机器人:方向=垂直>
<! - ICON - >
< ImageView的
机器人:ID =@ + ID /图标
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT/>
< TableLayout
机器人:ID =@ + ID / tableLayout2
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:layout_weight =0
机器人:stretchColumns =*>
<的TableRow
机器人:ID =@ + ID / tableRow5
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT>
<! - 设置 - >
<按钮
机器人:ID =@ + ID /按钮1
机器人:layout_width =50dip
机器人:layout_height =50dip
机器人:layout_gravity =左
机器人:layout_weight =1
机器人:背景=@可绘制/选项
机器人:可点击=真
机器人:=了minHeight50dp
机器人:=了minWidth50dp
机器人:能见度=看见/>
<! - LIST - >
<按钮
机器人:ID =@ + ID /将Button4
机器人:layout_width =0dip
机器人:layout_height =50dip
机器人:layout_gravity =右
机器人:layout_weight =1
机器人:背景=@可绘制/列表
机器人:可点击=真
机器人:=了maxHeight50dp
机器人:=了maxWidth50dp
机器人:能见度=看见/>
< /的TableRow>
<! - 手势(GOES全屏背景 - >
< android.gesture.GestureOverlayView
机器人:ID =@ + ID / gestureOverlayView1
机器人:layout_width =FILL_PARENT
机器人:layout_height =FILL_PARENT>
< /android.gesture.GestureOverlayView>
<的TableRow>
<! - 搜索 - >
<按钮
机器人:ID =@ + ID /按钮2
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:layout_gravity =左
机器人:背景=@可绘制/查找
机器人:可点击=真
机器人:=了maxHeight50dp
机器人:=了maxWidth50dp
机器人:能见度=看见/>
<! - 关闭 - >
<按钮
机器人:ID =@ + ID /按钮3
机器人:layout_width =WRAP_CONTENT
机器人:layout_height =WRAP_CONTENT
机器人:layout_gravity =右
机器人:背景=@可绘制/关
机器人:重力=右|顶
机器人:可点击=真
机器人:身高=50dp
机器人:宽=50dp
机器人:能见度=看见/>
< /的TableRow>
< / TableLayout>
< / LinearLayout中>
解决方案
RelativeLayout的关键是:
< XML版本=1.0编码=UTF-8&GT?;
< RelativeLayout的的xmlns:机器人=http://schemas.android.com/apk/res/android
机器人:ID =@ + ID /帧
机器人:layout_width =FILL_PARENT
机器人:layout_height =FILL_PARENT机器人:后台=#6495ED>
< android.gesture.GestureOverlayView
机器人:ID =@ + ID / gestureOverlayView1
机器人:layout_width =FILL_PARENT
机器人:layout_height =FILL_PARENT>
< /android.gesture.GestureOverlayView>
<的ImageButton
机器人:ID =@ + ID / imageButton1
机器人:layout_width =50dp
机器人:layout_height =50dp
机器人:layout_alignParentLeft =真
机器人:layout_alignParentTop =真
机器人:后台=#F00/>
<的ImageButton
机器人:ID =@ + ID / imageButton2
机器人:layout_width =50dp
机器人:layout_height =50dp
机器人:layout_alignParentRight =真
机器人:layout_alignParentTop =真
机器人:后台=#F00/>
<的ImageButton
机器人:ID =@ + ID / imageButton3
机器人:layout_width =50dp
机器人:layout_height =50dp
机器人:layout_alignParentBottom =真
机器人:layout_alignParentLeft =真
机器人:后台=#F00/>
<的ImageButton
机器人:ID =@ + ID / imageButton4
机器人:layout_width =50dp
机器人:layout_height =50dp
机器人:layout_alignParentBottom =真
机器人:layout_alignParentRight =真
机器人:后台=#F00/>
< / RelativeLayout的>
Im trying to distribute 4 image buttons into the 4 possible screen corners (regardless of res) of an android layout. I want the image background to be static (ie 50x50 dip) and I would also like to have the android.gesture.GestureOverlayView layer on full-screen in the background. Im having a hard time figuring this out and Im very newby on droid dev. working with eclipse+AVD 2.1.1
many thanks!!
<?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>
解决方案
RelativeLayout is the key:
<?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>
这篇关于如何正确地分布在一个Android的布局4个按钮的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文