2013-01-08 19 views
9

多くの子ビューを持つ場合、相対レイアウトをスクロール可能にする方法はありますか?

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

グラフィックレイアウトの下に示されているように私のxmlが行く: enter image description here


私はDRからconstでのフィールドをスクロール可能にしたいです。私はここと他の場所で可能な解決策をすべて探しましたが、無駄でした。私はここに

+0

問題を解決するためのソリューションを掲載しました。 –

+0

http://stackoverflow.com/questions/13659442/relativelayout-scrollableこれが私の問題を解決しました。 – Murat

答えて

29

助けを求めるアンドロイド初心者であることは、これを試してみてください:

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

感謝。

+0

スクロールビュータグの「不要な表示」という警告が表示されます – human

+0

@AhamBrahmaasmi私は自分のソリューションを編集しました。それを試してみてください。ありがとう。 –

+0

素晴らしい!それは働く:)感謝の男!!! –

0

は、それが

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

レンダリング中に例外が発生しました:ScrollViewは直接の子を1つだけホストすることができます – human

+0

私のコードを編集して、うまく動作します.. –

6

はのLinearLayout内のあなたの相対的なレイアウトを置き、私のために正常に動作します...これを試してみてください。 LinearLayoutをScrollViewに配置してください

<ScrollView> 
<LinearLayout> 
    <RelativeLayout> 
    ... 
    ... 
    ... 
    </RelativeLayout> 
</LinearLayout> 
</ScrollView> 
+0

なぜ機能するのかわかりませんが、 –

+0

@AkshatAgarwalです。 –

関連する問題