web-dev-qa-db-ja.com

RelativeLayoutスクロール可能

私は何度もRelativeLayoutの要素を揃えようとしましたが、期待した結果が得られません。

enter image description here

最初のボタンを右上に揃えたいのですが、複数のTextviewがあり、それらすべてをスクロール可能にしたいのですが、タグを挿入するとエラーが発生します。これが私のコードです。

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
  xmlns:Android="http://schemas.Android.com/apk/res/Android"
  Android:id="@+id/RL01"
  Android:layout_width="fill_parent"
  Android:layout_height="fill_parent"
  Android:orientation="vertical"
  Android:padding="5dp">

     <ScrollView
        Android:layout_width="fill_parent"
        Android:layout_height="fill_parent">

    <Button
          Android:id="@+id/btnBrowser"
          Android:layout_width="wrap_content"
          Android:layout_height="wrap_content"
          Android:text="Browser"
          Android:layout_marginTop="5dp"
            >
    </Button>

        <TextView
        Android:id="@+id/txtAuthor"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:textSize="20dp"
        Android:textStyle="bold"
        Android:textColor="#143781"
        Android:layout_marginTop="10dp"
        Android:layout_marginLeft="20dp"
        Android:layout_below="@+id/btnBrowser"
        >
    </TextView>
    <TextView
        Android:id="@+id/txtDate"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:textSize="14dp"
        Android:textColor="#8D89B3"
        Android:layout_marginTop="5dp"
        Android:layout_marginLeft="20dp"
        Android:layout_below="@+id/txtAuthor">
    </TextView>
    <TextView
        Android:id="@+id/txtTitle"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:textSize="14dp"
        Android:textStyle="bold"
        Android:textColor="#000000"
        Android:layout_marginLeft="20dp"
        Android:layout_marginTop="5dp"
        Android:layout_below="@+id/txtDate">
        >
    </TextView>
    <TextView
        Android:id="@+id/txtMsg"
        Android:layout_height="wrap_content" 
        Android:layout_width="wrap_content"
        Android:textSize="14dp"
        Android:textColor="#000000"
        Android:layout_marginLeft="20dp"
        Android:layout_below="@+id/txtTitle">
    </TextView>

    <Button
          Android:id="@+id/btnReply"
          Android:layout_width="wrap_content"
          Android:layout_height="wrap_content"
          Android:text="Reply"
          Android:layout_marginTop="20dp"
          Android:layout_below="@+id/txtMsg"
          Android:layout_centerInParent="@+id/txtMsg">

    </Button>
       </ScrollView>
</RelativeLayout>
13
Davis

ScrollViewは複数の直接の子を許可しないため、エラーが発生します。したがって、次のようにします。

<ScrollView xmlns:Android="http://schemas.Android.com/apk/res/Android"
  Android:layout_width="fill_parent"
        Android:layout_height="fill_parent">

<RelativeLayout
  Android:layout_width="fill_parent"
  Android:layout_height="fill_parent">
         <Button
        Android:id="@+id/button1"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_alignParentRight="true"
        Android:layout_alignParentTop="true"
        Android:text="Button" />

    <TextView
        Android:id="@+id/textView1"
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:layout_alignParentLeft="true"
        Android:layout_below="@+id/button1"
        Android:text="TextView" />

    <TextView
        Android:id="@+id/textView2"
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:layout_alignParentLeft="true"
        Android:layout_below="@+id/textView1"
        Android:text="TextView" />

    <TextView
        Android:id="@+id/textView3"
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:layout_alignParentLeft="true"
        Android:layout_below="@+id/textView2"
        Android:text="TextView" />

    <Button
        Android:id="@+id/button2"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_alignParentBottom="true"
        Android:layout_centerHorizontal="true"
        Android:layout_below="@+id/textView3"
        Android:text="Button" />

     </RelativeLayout>
</ScrollView>
22
Jayabal

スクロールビューに複数のウィジェットを配置することはできません。これには、ウィジェットをビューでラップする必要があります。以下のように

<ScrollView
    Android:layout_width="fill_parent"
    Android:layout_height="fill_parent" >

    <RelativeLayout
        Android:layout_width="fill_parent"
        Android:layout_height="fill_parent" >
        <Button
            Android:id="@+id/btnBrowser"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:layout_centerVertical="false"
            Android:layout_marginTop="5dp"
            Android:text="Browser" >

        </Button>


        <TextView
            Android:id="@+id/txtAuthor"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:layout_below="@+id/btnBrowser"
            Android:layout_marginLeft="20dp"
            Android:layout_marginTop="10dp"
            Android:text="Text"
            Android:textColor="#143781"
            Android:textSize="20dp"
            Android:textStyle="bold" >
        </TextView>

        <TextView
            Android:id="@+id/txtDate"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:layout_below="@+id/txtAuthor"
            Android:layout_marginLeft="20dp"
            Android:layout_marginTop="5dp"
            Android:textColor="#8D89B3"
            Android:textSize="14dp" Android:text="Text"
            >
        </TextView>

        <TextView
            Android:id="@+id/txtTitle"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:layout_below="@+id/txtDate"
            Android:layout_marginLeft="20dp"
            Android:layout_marginTop="5dp"
            Android:textColor="#000000"
            Android:textSize="14dp"
            Android:textStyle="bold" Android:text="Text">
        </TextView>

        <TextView
            Android:id="@+id/txtMsg"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:layout_below="@+id/txtTitle"
            Android:layout_marginLeft="20dp"
            Android:textColor="#000000"
            Android:textSize="14dp" Android:text="Text">
        </TextView>

        <Button
            Android:id="@+id/btnReply"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:layout_below="@+id/txtMsg"
            Android:layout_centerInParent="@+id/txtMsg"
            Android:layout_marginTop="20dp"
            Android:text="Reply" >
        </Button>
    </RelativeLayout>
</ScrollView>
1
Talha

scrollview内にrelativelayoutを追加しています。結果を取得するには、Relativelayoutscrollview内に追加する必要があります。もう1つscrollviewは一度に1つの子しか含めることができないため、relativelayoutscrollviewに追加して違いを確認します