web-dev-qa-db-ja.com

Android-幅全体を埋める同じ行の2つのボタン

相対レイアウトの定義に少し問題があります。スクロール付きのリストビューと、リストビューの下部に常に表示される2つのボタンがあります。 2つのボタンの幅を50%にして、線を埋めたいだけです。これは私のコードです:

<?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" 
    Android:orientation="vertical" >

    <Button 
        Android:id="@+id/testbutton"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_alignParentBottom="true"
        Android:text="Save" />

    <Button
        Android:id="@+id/cancelButton"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_alignParentBottom="true" 
        Android:layout_toRightOf="@+id/testbutton"
        Android:text="Cancel"/>

    <ListView Android:layout_width="fill_parent"
        Android:layout_height="fill_parent" 
        Android:id="@+id/LstPeriodOptions"
        Android:layout_alignParentTop="true" 
        Android:layout_above="@id/testbutton" />

</RelativeLayout>

線形レイアウトでボタンを導入し、重力= 1、幅= 0dpを指定しようとしましたが、その場合、ListViewは表示されなくなります。私を手伝ってくれますか?

英語でごめんなさい。これは私が欲しい結果です:

Result

どうもありがとうございました。

編集:これは私が線形レイアウトで試したものです:

<?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" 
    Android:orientation="vertical" >

    <LinearLayout 
       Android:layout_width="wrap_content"
       Android:layout_height="wrap_content"
       Android:id="@+id/container" >

        <Button 
            Android:id="@+id/testbutton"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:layout_alignParentBottom="true"
            Android:text="Guardar" />

        <Button
            Android:id="@+id/cancelButton"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:layout_alignParentBottom="true" 
            Android:layout_toRightOf="@+id/testbutton"
            Android:text="Cancelar"/>
    </LinearLayout>

    <ListView Android:layout_width="fill_parent"
        Android:layout_height="fill_parent" 
        Android:id="@+id/LstPeriodOptions"
        Android:layout_alignParentTop="true" 
        Android:layout_above="@id/container" />

</RelativeLayout>
9
puro_nervio

これが機能するはずなので、この方法で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:id="@+id/btnLL"
      Android:layout_width="match_parent"
      Android:layout_height="wrap_content"
      Android:layout_alignParentBottom="true">
    <Button 
        Android:id="@+id/testbutton"
        Android:layout_width="0dp"
        Android:layout_height="wrap_content"
        Android:layout_weight="1"
        Android:text="Save" />

    <Button
        Android:id="@+id/cancelButton"
        Android:layout_width="0dp"
        Android:layout_height="wrap_content"
        Android:layout_weight="1"
        Android:text="Cancel"/>
  </LinearLayout>
    <ListView Android:layout_width="fill_parent"
        Android:layout_height="fill_parent" 
        Android:id="@+id/LstPeriodOptions"
        Android:layout_above="@id/btnLL" />

</RelativeLayout>
35
codeMagic

以下のようにして、ボタンをLinearLayoutに設定し、ListViewの下に設定してください。

      <LinearLayout
        Android:id="@+id/laytbtns"
        Android:layout_width="fill_parent"
        Android:layout_height="wrap_content"
        Android:layout_marginTop="10dp"
        Android:layout_below="@+id/LstPeriodOptions" >
        <Button
            Android:id="@+id/testbutton"
            Android:layout_width="0dp"
            Android:layout_height="wrap_content"
            Android:layout_marginRight="5dp"
            Android:layout_weight="1"
            Android:text="Save"/>
        <Button
             Android:id="@+id/cancelButton"
            Android:layout_width="0dp"
            Android:layout_height="wrap_content"
            Android:layout_marginLeft="5dp"
            Android:layout_weight="1"
            Android:text="Cancel" />
    </LinearLayout>
4
GrIsHu

これを試して..

<?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:orientation="vertical" >

<ListView 
        Android:layout_width="match_parent"
        Android:layout_height="0dp" 
            Android:layout_weight="1"
        Android:id="@+id/LstPeriodOptions"
        Android:layout_above="@id/testbutton" />

    <LinearLayout
        Android:id="@+id/laytbtns"
        Android:layout_width="fill_parent"
        Android:layout_height="wrap_content"
        Android:layout_marginTop="10dp"
        Android:layout_below="@+id/LstPeriodOptions" >
        <Button
            Android:id="@+id/testbutton"
            Android:layout_width="0dp"
            Android:layout_height="wrap_content"
            Android:layout_marginRight="5dp"
            Android:layout_weight="1"
            Android:text="Save"/>
        <Button
             Android:id="@+id/cancelButton"
            Android:layout_width="0dp"
            Android:layout_height="wrap_content"
            Android:layout_marginLeft="5dp"
            Android:layout_weight="1"
            Android:text="Cancel" />
    </LinearLayout>

</LinearLayout>
2
Hariharan