web-dev-qa-db-ja.com

多くの子ビューがあるときに相対レイアウトをスクロール可能にする方法は?

私のxmlは以下のようになります

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:id="@+id/form_layout"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content"
    Android:background="@color/black"
    Android:orientation="vertical"
    Android:overScrollMode="ifContentScrolls"
    Android:scrollbarStyle="insideOverlay"
    Android:scrollbars="vertical"  >


    <Spinner
        Android:id="@+id/formulae"
        Android:layout_width="200dp"
        Android:layout_height="60dp"
        Android:layout_marginLeft="50dp"
        Android:layout_marginRight="50dp"
        Android:background="@color/LightSkyBlue"
        Android:dropDownWidth="wrap_content"
        Android:entries="@array/formulas"
        Android:gravity="center"
        Android:paddingLeft="0dp"
        Android:textAlignment="center" /> 


    <EditText
        Android:id="@+id/k2_editText"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_above="@+id/al"
        Android:layout_alignRight="@+id/al_editText"
        Android:layout_alignTop="@+id/k2"
        Android:layout_marginLeft="120dp"
        Android:ems="10"
        Android:enabled="true"
        Android:inputType="numberDecimal"
        Android:onClick="@drawable/textfield_activated_holo_light"
        Android:textColor="@color/White"
        Android:textSize="15sp"
        Android:visibility="visible"
        Android:width="100dp" />

    <TextView
        Android:id="@+id/k1"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_alignParentLeft="true"
        Android:layout_below="@+id/dr"
        Android:layout_marginLeft="24dp"
        Android:layout_marginTop="28dp"
        Android:text="@string/K1"
        Android:textColor="@color/white"
        Android:textSize="25sp" />

    <EditText
        Android:id="@+id/k1_editText"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_above="@+id/k2"
        Android:layout_alignLeft="@+id/k2_editText"
        Android:layout_alignRight="@+id/k2_editText"
        Android:layout_alignTop="@+id/k1"
        Android:background="@drawable/edit_text_holo_light"
        Android:ems="10"
        Android:enabled="true"
        Android:inputType="numberDecimal"
        Android:onClick="@drawable/textfield_activated_holo_light"
        Android:textColor="@color/White"
        Android:textSize="15sp"
        Android:visibility="visible"
        Android:width="100dp" />

     <TextView
        Android:id="@+id/dr"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_alignLeft="@+id/formulae"
        Android:layout_below="@+id/formulae"
        Android:layout_marginTop="14dp"
        Android:layout_toLeftOf="@+id/k1_editText"
        Android:ems="10"
        Android:gravity="center"
        Android:text="@string/dr"
        Android:textColor="@color/White"
        Android:textSize="25sp" />



    <TextView
        Android:id="@+id/k2"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_alignRight="@+id/k1"
        Android:layout_below="@+id/k1"
        Android:layout_marginTop="38dp"
        Android:text="@string/K2"
        Android:textColor="@color/White"
        Android:textSize="25sp" />

    <TextView
        Android:id="@+id/al"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_alignRight="@+id/k2"
        Android:layout_below="@+id/k2"
        Android:layout_marginTop="38dp"
        Android:text="@string/AL"
        Android:textColor="@color/White"
        Android:textSize="25sp" />

    <EditText
        Android:id="@+id/al_editText"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_alignRight="@+id/formulae"
        Android:layout_alignTop="@+id/al"
        Android:layout_marginLeft="120dp"
        Android:ems="10"
        Android:enabled="true"
        Android:inputType="numberDecimal"
        Android:onClick="@drawable/textfield_activated_holo_light"
        Android:textColor="@color/White"
        Android:textSize="15sp"
        Android:visibility="visible"
        Android:width="100dp" />

    <EditText
        Android:id="@+id/al_const_editText"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_alignBottom="@+id/al_const"
        Android:layout_alignRight="@+id/al_editText"
        Android:layout_marginLeft="120dp"
        Android:ems="10"
        Android:enabled="true"
        Android:inputType="numberDecimal"
        Android:onClick="@drawable/textfield_activated_holo_light"
        Android:textColor="@color/White"
        Android:textSize="15sp"
        Android:visibility="visible"
        Android:width="100dp" />

    <EditText
        Android:id="@+id/dr_editText"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_alignLeft="@+id/k1_editText"
        Android:layout_alignRight="@+id/formulae"
        Android:layout_alignTop="@+id/dr"
        Android:ems="10"
        Android:inputType="numberDecimal|numberSigned"
        Android:textColor="@color/White"
        Android:textSize="15sp" >

        <requestFocus />
    </EditText>

    <TextView
        Android:id="@+id/al_const"
        Android:layout_width="wrap_content"
        Android:layout_height="wrap_content"
        Android:layout_alignLeft="@+id/al"
        Android:layout_below="@+id/al_editText"
        Android:layout_marginTop="43dp"
        Android:text="@string/Rx"
        Android:textColor="@color/White"
        Android:textSize="20sp" />

    <Button
        Android:id="@+id/result"
        Android:layout_width="match_parent"
        Android:layout_height="50dp"
        Android:layout_alignParentBottom="true"
        Android:layout_centerHorizontal="true"
        Android:background="@color/LightSkyBlue"
        Android:text="@string/Result"
        Android:textSize="25sp" />

</RelativeLayout>

グラフィックレイアウト: enter image description here


DRからA-constまでのフィールドをスクロール可能にしたい。私はここや他の場所ですべての可能な解決策を検索したが無駄だった。Androidここでヘルプを探す

16
human

これを試して :

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
    Android:layout_width="match_parent"
    Android:layout_height="wrap_content" >

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

        <RelativeLayout
            Android:id="@+id/form_layout"
            Android:layout_width="fill_parent"
            Android:layout_height="wrap_content"
            Android:background="@color/black" >

            <Spinner
                Android:id="@+id/formulae"
                Android:layout_width="200dp"
                Android:layout_height="60dp"
                Android:layout_marginLeft="50dp"
                Android:layout_marginRight="50dp"
                Android:background="@color/LightSkyBlue"
                Android:dropDownWidth="wrap_content"
                Android:entries="@array/formulas"
                Android:gravity="center"
                Android:paddingLeft="0dp"
                Android:textAlignment="center" />

            <EditText
                Android:id="@+id/k2_editText"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:layout_above="@+id/al"
                Android:layout_alignRight="@+id/al_editText"
                Android:layout_alignTop="@+id/k2"
                Android:layout_marginLeft="120dp"
                Android:ems="10"
                Android:enabled="true"
                Android:inputType="numberDecimal"
                Android:onClick="@drawable/textfield_activated_holo_light"
                Android:textColor="@color/White"
                Android:textSize="15sp"
                Android:visibility="visible"
                Android:width="100dp" />

            <TextView
                Android:id="@+id/k1"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:layout_alignParentLeft="true"
                Android:layout_below="@+id/dr"
                Android:layout_marginLeft="24dp"
                Android:layout_marginTop="28dp"
                Android:text="@string/K1"
                Android:textColor="@color/white"
                Android:textSize="25sp" />

            <EditText
                Android:id="@+id/k1_editText"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:layout_above="@+id/k2"
                Android:layout_alignLeft="@+id/k2_editText"
                Android:layout_alignRight="@+id/k2_editText"
                Android:layout_alignTop="@+id/k1"
                Android:background="@drawable/edit_text_holo_light"
                Android:ems="10"
                Android:enabled="true"
                Android:inputType="numberDecimal"
                Android:onClick="@drawable/textfield_activated_holo_light"
                Android:textColor="@color/White"
                Android:textSize="15sp"
                Android:visibility="visible"
                Android:width="100dp" />

            <TextView
                Android:id="@+id/dr"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:layout_alignLeft="@+id/formulae"
                Android:layout_below="@+id/formulae"
                Android:layout_marginTop="14dp"
                Android:layout_toLeftOf="@+id/k1_editText"
                Android:ems="10"
                Android:gravity="center"
                Android:text="@string/dr"
                Android:textColor="@color/White"
                Android:textSize="25sp" />

            <TextView
                Android:id="@+id/k2"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:layout_alignRight="@+id/k1"
                Android:layout_below="@+id/k1"
                Android:layout_marginTop="38dp"
                Android:text="@string/K2"
                Android:textColor="@color/White"
                Android:textSize="25sp" />

            <TextView
                Android:id="@+id/al"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:layout_alignRight="@+id/k2"
                Android:layout_below="@+id/k2"
                Android:layout_marginTop="38dp"
                Android:text="@string/AL"
                Android:textColor="@color/White"
                Android:textSize="25sp" />

            <EditText
                Android:id="@+id/al_editText"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:layout_alignRight="@+id/formulae"
                Android:layout_alignTop="@+id/al"
                Android:layout_marginLeft="120dp"
                Android:ems="10"
                Android:enabled="true"
                Android:inputType="numberDecimal"
                Android:onClick="@drawable/textfield_activated_holo_light"
                Android:textColor="@color/White"
                Android:textSize="15sp"
                Android:visibility="visible"
                Android:width="100dp" />

            <EditText
                Android:id="@+id/al_const_editText"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:layout_alignBottom="@+id/al_const"
                Android:layout_alignRight="@+id/al_editText"
                Android:layout_marginLeft="120dp"
                Android:ems="10"
                Android:enabled="true"
                Android:inputType="numberDecimal"
                Android:onClick="@drawable/textfield_activated_holo_light"
                Android:textColor="@color/White"
                Android:textSize="15sp"
                Android:visibility="visible"
                Android:width="100dp" />

            <EditText
                Android:id="@+id/dr_editText"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:layout_alignLeft="@+id/k1_editText"
                Android:layout_alignRight="@+id/formulae"
                Android:layout_alignTop="@+id/dr"
                Android:ems="10"
                Android:inputType="numberDecimal|numberSigned"
                Android:textColor="@color/White"
                Android:textSize="15sp" >

                <requestFocus />
            </EditText>

            <TextView
                Android:id="@+id/al_const"
                Android:layout_width="wrap_content"
                Android:layout_height="wrap_content"
                Android:layout_alignLeft="@+id/al"
                Android:layout_below="@+id/al_editText"
                Android:layout_marginTop="43dp"
                Android:text="@string/Rx"
                Android:textColor="@color/White"
                Android:textSize="20sp" />

            <Button
                Android:id="@+id/result"
                Android:layout_width="match_parent"
                Android:layout_height="50dp"
                Android:layout_alignParentBottom="true"
                Android:layout_centerHorizontal="true"
                Android:background="@color/LightSkyBlue"
                Android:text="@string/Result"
                Android:textSize="25sp" />
        </RelativeLayout>
    </ScrollView>

</RelativeLayout>

ありがとう。

37
Pratik Sharma

LinearLayout内に相対レイアウトを配置します。そのLinearLayoutをScrollViewに配置します

<ScrollView>
 <LinearLayout>
  <RelativeLayout>
    ...
    ...
    ...
  </RelativeLayout>
 </LinearLayout>
</ScrollView>
6
Aditya Kushwaha

これを試してください...私にとってはうまくいきます

    <?xml version="1.0" encoding="utf-8"?>
 <RelativeLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
 Android:id="@+id/form_layout"
 Android:layout_width="match_parent"
 Android:layout_height="wrap_content"
 Android:orientation="vertical"
 Android:overScrollMode="ifContentScrolls"
 Android:scrollbarStyle="insideOverlay"
 Android:scrollbars="vertical" >

<Spinner
    Android:id="@+id/formulae"
    Android:layout_width="200dp"
    Android:layout_height="60dp"
    Android:layout_marginLeft="50dp"
    Android:layout_marginRight="50dp"
    Android:dropDownWidth="wrap_content"
    Android:gravity="center"
    Android:paddingLeft="0dp" />

<ScrollView
    Android:layout_width="fill_parent"
    Android:layout_height="wrap_content"
    Android:layout_above="@+id/result"
    Android:layout_below="@+id/formulae" >

    <RelativeLayout
        Android:layout_width="match_parent"
        Android:layout_height="wrap_content"
        Android:layout_below="@+id/formulae" >

        <EditText
            Android:id="@+id/k2_editText"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:layout_above="@+id/al"
            Android:layout_alignRight="@+id/al_editText"
            Android:layout_alignTop="@+id/k2"
            Android:layout_marginLeft="120dp"
            Android:ems="10"
            Android:enabled="true"
            Android:inputType="numberDecimal"
            Android:textSize="15sp"
            Android:visibility="visible"
            Android:width="100dp" />

        <TextView
            Android:id="@+id/k1"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:layout_alignParentLeft="true"
            Android:layout_below="@+id/dr"
            Android:layout_marginLeft="24dp"
            Android:layout_marginTop="28dp"
            Android:text="K1"
            Android:textSize="25sp" />

        <EditText
            Android:id="@+id/k1_editText"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:layout_above="@+id/k2"
            Android:layout_alignLeft="@+id/k2_editText"
            Android:layout_alignRight="@+id/k2_editText"
            Android:layout_alignTop="@+id/k1"
            Android:ems="10"
            Android:enabled="true"
            Android:inputType="numberDecimal"
            Android:textSize="15sp"
            Android:visibility="visible"
            Android:width="100dp" />

        <TextView
            Android:id="@+id/dr"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:layout_alignLeft="@+id/formulae"
            Android:layout_below="@+id/formulae"
            Android:layout_marginTop="14dp"
            Android:layout_toLeftOf="@+id/k1_editText"
            Android:ems="10"
            Android:gravity="center"
            Android:text="dr"
            Android:textSize="25sp" />

        <TextView
            Android:id="@+id/k2"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:layout_alignRight="@+id/k1"
            Android:layout_below="@+id/k1"
            Android:layout_marginTop="38dp"
            Android:text="K2"
            Android:textSize="25sp" />

        <TextView
            Android:id="@+id/al"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:layout_alignRight="@+id/k2"
            Android:layout_below="@+id/k2"
            Android:layout_marginTop="38dp"
            Android:text="AL"
            Android:textSize="25sp" />

        <EditText
            Android:id="@+id/al_editText"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:layout_alignRight="@+id/formulae"
            Android:layout_alignTop="@+id/al"
            Android:layout_marginLeft="120dp"
            Android:ems="10"
            Android:enabled="true"
            Android:inputType="numberDecimal"
            Android:textSize="15sp"
            Android:visibility="visible"
            Android:width="100dp" />

        <EditText
            Android:id="@+id/al_const_editText"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:layout_alignBottom="@+id/al_const"
            Android:layout_alignRight="@+id/al_editText"
            Android:layout_marginLeft="120dp"
            Android:ems="10"
            Android:enabled="true"
            Android:inputType="numberDecimal"
            Android:textSize="15sp"
            Android:visibility="visible"
            Android:width="100dp" />

        <EditText
            Android:id="@+id/dr_editText"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:layout_alignLeft="@+id/k1_editText"
            Android:layout_alignRight="@+id/formulae"
            Android:layout_alignTop="@+id/dr"
            Android:ems="10"
            Android:inputType="numberDecimal|numberSigned"
            Android:textSize="15sp" >

            <requestFocus />
        </EditText>

        <TextView
            Android:id="@+id/al_const"
            Android:layout_width="wrap_content"
            Android:layout_height="wrap_content"
            Android:layout_alignLeft="@+id/al"
            Android:layout_below="@+id/al_editText"
            Android:layout_marginTop="43dp"
            Android:text="Rx"
            Android:textSize="20sp" />
    </RelativeLayout>
</ScrollView>

<Button
    Android:id="@+id/result"
    Android:layout_width="match_parent"
    Android:layout_height="50dp"
    Android:layout_alignParentBottom="true"
    Android:layout_centerHorizontal="true"
    Android:text="Result"
    Android:textSize="25sp" />

</RelativeLayout>
2
Ketan Ahir