2013-01-08 5 views
9

mio xml va come illustrato di seguitocome rendere scorrevole un layout relativo quando ha molte viste di bambini?

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

layout grafico: enter image description here


Voglio che i campi da DR a A-const di essere scorrevole. Ho cercato ogni possibile soluzione qui e altrove ma invano. Essendo un principiante in Android i cerco aiuto qui

+0

Ho pubblicato una soluzione per risolvere il tuo problema. –

+0

http://stackoverflow.com/questions/13659442/relativelayout-scrollable questo ha risolto il mio problema. – Murat

risposta

29

Prova questo:

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

Grazie.

+0

getta un avviso che dice "visualizzazione non necessaria" per il tag scrollview – human

+0

@AhamBrahmaasmi Ho appena modificato la mia soluzione. Prova con quello. Grazie. –

+0

fantastico !! funziona :) grazie uomo !!! –

0

Prova questo ... tutto funziona bene per me

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

Eccezione sollevata durante il rendering: ScrollView può ospitare solo un figlio diretto – human

+0

Ho modificato il mio codice e funziona bene per me .. –

6

posto il layout relativa all'interno di un LinearLayout. E piazza LinearLayout in ScrollView

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

Non so perché funzioni, ma lo fa –

+0

@AkshatAgarwal perché scrollview può avere solo un figlio diretto. –