在我的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>
答案 0 :(得分: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>
但是,为什么要将网页视图放在按钮下方,这些按钮本身与屏幕底部对齐?
答案 1 :(得分:2)
将您的按钮放在LinearLayout
中并为其指定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>
答案 2 :(得分:1)
将两个按钮放在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>