-2

私のAndroidアプリケーションでは、2つのボタンが一列に並んでいて、その上に地図が表示されています。各ボタンが行の半分を占めるようにします。誰でもその方法を教えてもらえますか?

現在、私のコードは次のとおりです。

<?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>

しかし、なぜそれ自体が画面の下部に配置されているボタンの下にWebビューを配置するのですか?

于 2012-04-25T12:16:38.223 に答える
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>
于 2012-04-25T12:17:12.830 に答える
1

両方のボタンを a 内に配置しLinearLayoutandroid: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 に答える