-2

在我的 android 应用程序中,我有两个按钮,位于一排并在它们上方显示地图。我希望每个按钮占据行的一半。谁能告诉我该怎么做?

目前我的代码是:

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

    <Button
        android:id="@+id/btnProgram"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:text="Program" />

    <Button
        android:id="@+id/btnAfisareStatii"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:text="Afisaza toate statiile" 
        android:layout_toRightOf="@+id/btnProgram"/>

    <WebView
        android:id="@+id/webview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/btnAfisareStatii" />

    <WebView
        android:id="@+id/webview2"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/webview" />

    <com.google.android.maps.MapView
        android:id="@+id/mapView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:apiKey="0ws8opHdf-pIbZUa916nju81kSSlPRK4Wbg_0vg"
        android:clickable="true"
        android:enabled="true" 
        android:layout_above="@id/btnProgram">
    </com.google.android.maps.MapView>

</RelativeLayout>
4

3 回答 3

2

使用线性布局和 layout_weight:

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

    <LinearLayout
        android:id="@+id/button_container"
        android:layout_alignParentBottom="true"
        android:layout_width="match_parent"
        android:orientation="horizontal"
        android:layout_height="wrap_content" >

        <Button
            android:id="@+id/btnProgram"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:text="Program" />

        <Button
            android:id="@+id/btnAfisareStatii"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            android:layout_toRightOf="@+id/btnProgram"
            android:text="Afisaza toate statiile" />
    </LinearLayout>

    <WebView
        android:id="@+id/webview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/btnAfisareStatii" />

    <WebView
        android:id="@+id/webview2"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/webview" />

    <com.google.android.maps.MapView
        android:id="@+id/mapView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_above="@+id/button_container"
        android:apiKey="0ws8opHdf-pIbZUa916nju81kSSlPRK4Wbg_0vg"
        android:clickable="true"
        android:enabled="true" >
    </com.google.android.maps.MapView>

</RelativeLayout>

但是你为什么要把 webviews 放在它们本身与屏幕底部对齐的按钮下面呢?

于 2012-04-25T12:16:38.223 回答
2

将您的按钮放入 aLinearLayout并分配layout_weight给它们。然后把这个LinearLayout放到你RelativeLayout的底部。

<LinearLayout layout_width="fill_parent" layout_height="fill_parent">
  <Button
        android:id="@+id/btnProgram"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Program" />

    <Button
        android:id="@+id/btnAfisareStatii"
        android:layout_width="wrap_fill_parent"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Afisaza toate statiile" />
</LinearLayout>
于 2012-04-25T12:17:12.830 回答
1

将两个按钮都放在 a 中LinearLayout并设置android:orientation="horizontal"

如下所示。确保你有weight按钮的属性

<LinearLayout android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                 android:orientation="horizontal">
<Button
    android:id="@+id/button1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Button" android:layout_weight="1"/>
<Button
    android:id="@+id/button2"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="Button" android:layout_weight="1"/>

</LinearLayout> 

更新

<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/RelativeLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
    <WebView
        android:id="@+id/webview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/btnAfisareStatii" 
        android:layout_weight="1"/>

    <WebView
        android:id="@+id/webview2"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/webview" 
         android:layout_weight="1"/>

    <com.google.android.maps.MapView
        android:id="@+id/mapView"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:apiKey="0ws8opHdf-pIbZUa916nju81kSSlPRK4Wbg_0vg"
        android:clickable="true"
        android:enabled="true" 
         android:layout_weight="1">
    </com.google.android.maps.MapView>

        <LinearLayout android:orientation="horizontal" 
            android:layout_width="fill_parent" 
            android:layout_height="fill_parent"
       android:layout_weight="1">
          <Button
        android:id="@+id/btnProgram"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:text="Program" 
        android:layout_weight="1"/>

    <Button
        android:id="@+id/btnAfisareStatii"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:text="Afisaza toate statiile" 
        android:layout_toRightOf="@+id/btnProgram" android:layout_weight="1"/>

    </LinearLayout>
</LinearLayout>
于 2012-04-25T12:21:49.100 回答