2013-01-08 4 views
9

mein xml geht unterWie wird ein relatives Layout scrollbar gemacht, wenn es viele untergeordnete Ansichten hat? scrollbaren</strong> <img src="https://i.stack.imgur.com/xSpTy.png" alt="enter image description here"></p> <hr> <p><strong>Ich möchte die Felder von DR bis A-const sein:

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

grafische Layout, wie dargestellt. Ich habe jede mögliche Lösung hier und anderswo gesucht, aber vergebens. Als Anfänger in android suche ich Hilfe hier

+0

Ich habe eine Lösung geschrieben, um Ihr Problem zu lösen. –

+0

http://stackoverflow.com/questions/13659442/relativlayout-scrollable das löste mein Problem. – Murat

Antwort

29

Try this:

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

Dank.

+0

Es wird eine Warnung mit dem Hinweis "unnötige Ansicht" für scrollview Tag – human

+0

@AhamBrahmaasmi Ich habe gerade meine Lösung bearbeitet. Versuche es damit. Vielen Dank. –

+0

toll !! es funktioniert :) danke mann !!! –

0

Versuchen Sie, diese ... es funktioniert gut für mich

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

Ausnahme beim Rendern: ScrollView kann nur ein direktes Kind hosten – human

+0

Ich habe meinen Code bearbeitet und funktioniert gut für mich .. –

6

Platzieren Sie Ihre relativ Layout in einem Linearlayout. Und platzieren Sie das LinearLayout in einem ScrollView

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

Ich bin nicht sicher, warum das funktioniert, aber es tut –

+0

@AkshatAgarwal, weil scrollview nur ein direktes Kind haben kann. –