一个中心如何在相对布局中对齐多个按钮?

时间:2011-05-26 17:27:33

标签: android layout

我试图找出中心如何对齐三个按钮。 webview正确定位在按钮下方。我一直在寻找一个相当于div的东西,我可以添加layout_centerInParent属性。我可以将一个按钮居中对齐,但不是几个按钮,并且无法找到合适的资源。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent">
    <Button android:layout_centerInParent="true" android:onClick="backclick" android:layout_alignParentTop="true" android:id="@+id/btnBack" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="Back" android:layout_alignParentLeft="true"></Button>
    <ImageButton android:layout_centerInParent="true" android:onClick="oclick" android:layout_alignParentTop="true" android:src="@drawable/hto" android:id="@+id/btnLogo" android:layout_width="156dip" android:layout_height="48dip" android:layout_toRightOf="@+id/btnBack"></ImageButton>
    <Button android:layout_centerInParent="true" android:onClick="oclick" android:layout_alignParentTop="true" android:id="@+id/btnRefresh" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="Home" android:layout_toRightOf="@+id/btnLogo"></Button>
    <WebView android:id="@+id/webView" android:layout_alignParentBottom="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/btnRefresh"></WebView>
</RelativeLayout>

编辑: 我修改了Frankensteins代码。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent">
    <LinearLayout android:id="@+id/lytMenu" android:layout_alignParentTop="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_centerInParent="true">   
     <Button android:onClick="backclick" android:layout_alignParentTop="true" android:id="@+id/btnBack" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="Back" android:layout_alignParentLeft="true"></Button>
     <ImageButton android:onClick="oclick" android:layout_alignParentTop="true" android:src="@drawable/hto" android:id="@+id/btnLogo" android:layout_width="156dip" android: layout_height="48dip" android:layout_toRightOf="@+id/btnBack"></ImageButton>
     <Button android:onClick="oclick" android:layout_alignParentTop="true" android:id="@+id/btnRefresh" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="Home" android:layout_toRightOf="@+id/btnLogo"></Button>
    </LinearLayout>    
   <WebView android:id="@+id/webView" android:layout_alignParentBottom="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/lytMenu"></WebView>
</RelativeLayout>

2 个答案:

答案 0 :(得分:3)

您希望按钮相互布局,因此您应该使用和LinearLayout这样做。如果希望按钮垂直堆叠,请将属性android:orientation更改为vertical。 LinearLayout在父级中居中。

<?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent">
    <LinearLayout android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_centerInParent="true">
        <Button android:onClick="backclick" android:layout_alignParentTop="true" android:id="@+id/btnBack" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="Back" android:layout_alignParentLeft="true"></Button>
        <ImageButton android:onClick="oclick" android:layout_alignParentTop="true" android:src="@drawable/hto" android:id="@+id/btnLogo" android:layout_width="156dip" android:layout_height="48dip" android:layout_toRightOf="@+id/btnBack"></ImageButton>
        <Button android:onClick="oclick" android:layout_alignParentTop="true" android:id="@+id/btnRefresh" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="Home" android:layout_toRightOf="@+id/btnLogo"></Button>
    </LinearLayout>
    <WebView android:id="@+id/webView" android:layout_alignParentBottom="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/btnRefresh"></WebView>
</RelativeLayout>

答案 1 :(得分:0)

将按钮包裹在容器元素(<div>?)中并改为居中。