2013-01-08 1 views
9

내 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


내가 A-CONST에 DR의 필드가 스크롤되고 싶어요. 나는 여기와 다른 곳에서 모든 가능한 해결책을 찾았지만 헛된 것이었다. 안드로이드에서 초보자 인 나는 여기

+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

이 ... 그것은있는 LinearLayout 내부 나

<?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는 직접 자식 하나만 호스트 할 수 있습니다. – human

+0

내 코드를 편집하고 나에게 잘 작동합니다 .. –

6

장소에 대한 귀하의 상대 레이아웃을 잘 작동보십시오. LinearLayout을 ScrollView에 배치하십시오.

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

왜이 기능이 작동하는지 모르지만, scrollview는 직접 자식을 하나만 가질 수 있기 때문에 –

+0

@AkshatAgarwal을 수행합니다. –

관련 문제