2017-08-08 87 views
0

你好,我想添加滾動視圖到我的佈局,但它給了我錯誤滾動視圖可以只託管一個直接的孩子。我只想滾動edittext而不是imageviev和按鈕按鈕都需要是常量。而當我旋轉我的設備景觀包含不顯示。請給這個ScrollView給出錯誤在android

解決這裏是我的代碼

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="#aeabab" 
    android:orientation="vertical" 
    android:weightSum="1"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbarforprofile" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="#fff" 
     android:minHeight="?attr/actionBarSize" 
     android:titleTextColor="#000" 
     app:theme="@style/ToolbarColoredBackArrow" /> 

    <ImageView 
     android:id="@+id/imageView2" 
     android:layout_width="100dp" 
     android:layout_height="100dp" 
     android:layout_gravity="center_horizontal" 
     android:layout_marginTop="10dp" 
     android:background="@mipmap/icon_car" /> 

    <TextView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginTop="5dp" 
     android:gravity="center" 
     android:text="CAR PREFERENCE" 
     android:textColor="#111" 
     android:textSize="17dp" /> 

    <android.support.v4.widget.NestedScrollView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="10dp" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_marginBottom="20dp" 
      android:layout_marginLeft="30dp" 
      android:layout_marginRight="30dp" 
      android:layout_marginTop="5dp" 
      android:background="#ffffff" 
      android:orientation="vertical"> 

     <EditText 
      android:id="@+id/editText" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_margin="5dp" 
      android:drawableLeft="@mipmap/icon_location" 
      android:drawablePadding="10dp" 
      android:hint="WHERE TO GO" /> 

     <TextView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="5dp" 
      android:paddingLeft="5dp" 
      android:text="FROM DATE" 
      android:textColor="#111" 
      android:textSize="17dp" /> 

     <EditText 
      android:id="@+id/editText2" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_margin="5dp" 
      android:drawableLeft="@mipmap/icon_calendar" 
      android:drawablePadding="10dp" 
      android:hint="30/05/2017" /> 

     <TextView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="5dp" 
      android:paddingLeft="5dp" 
      android:text="TO DATE" 
      android:textColor="#111" 
      android:textSize="17dp" /> 

     <EditText 
      android:id="@+id/editText3" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_margin="5dp" 
      android:drawableLeft="@mipmap/icon_calendar" 
      android:drawablePadding="5dp" 
      android:hint="30/05/2017" /> 

     <EditText 
      android:id="@+id/editText4" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_margin="5dp" 
      android:drawableLeft="@mipmap/icon_clock" 
      android:drawablePadding="5dp" 
      android:hint="10 AM" /> 


     <EditText 
      android:id="@+id/editText5" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_margin="5dp" 
      android:drawableLeft="@mipmap/icon_people" 
      android:drawablePadding="5dp" 
      android:hint="NUMBER OF PERSON" 
      android:inputType="number" 
      android:maxLines="1" /> 

     <TextView 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginTop="5dp" 
      android:paddingLeft="8dp" 
      android:text="CAR TYPE" 
      android:textColor="#111" 
      android:textSize="17dp" /> 

     <LinearLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal"> 

      <RadioGroup 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:orientation="horizontal"> 

       <RadioButton 
        android:id="@+id/radioButton" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="center_horizontal" 
        android:text="SEDDAN" /> 

       <RadioButton 
        android:id="@+id/radioButton2" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:layout_gravity="right" 
        android:text="HACHBACK" /> 

       <RadioButton 
        android:id="@+id/radioButton3" 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="SUV" /> 
      </RadioGroup> 
     </LinearLayout> 
    </android.support.v4.widget.NestedScrollView> 


    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:layout_marginBottom="7dp" 
     android:layout_marginTop="-57dp" 
     android:gravity="center" 
     android:scaleX="0.9" 
     android:scaleY="0.9"> 

     <Button 
      android:id="@+id/btn_submit" 
      style="@style/Widget.AppCompat.Button.Colored" 
      android:layout_width="wrap_content" 
      android:layout_height="45dp" 
      android:layout_gravity="center" 
      android:background="@drawable/rounded_green" 
      android:ems="10" 
      android:gravity="center" 
      android:text="ORDER NOW" 
      android:textSize="20dp" 
      android:textStyle="bold" /> 


    </RelativeLayout> 
</LinearLayout> 


    </LinearLayout> 
+0

如果你只是想滾動EditText,把它的高度wrap_content,它會自動滾動和刪除滾動查看 –

回答

0

你可以將一個直接的孩子ScrollView這是真的,至少到目前最新的API。您有LinearLayout和多個EditText s作爲ScrollView的直接子,從而導致崩潰。

可以在ViewGroup包裝你的多重View S的可RelativeLayoutLinearLayoutFrameLayout但要確保ScrollView總是有一個直接的孩子。

<android.support.v4.widget.NestedScrollView 
    ..... 
    ..... 

    <LinearLayout 

    <EditText 

    <EditText 

    <TextView 

    ..... 
    ..... 

</android.support.v4.widget.NestedScrollView> 

試試這個

<android.support.v4.widget.NestedScrollView 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_marginBottom="10dp" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:layout_marginBottom="20dp" 
      android:layout_marginLeft="30dp" 
      android:layout_marginRight="30dp" 
      android:layout_marginTop="5dp" 
      android:background="#ffffff" 
      android:orientation="vertical"> 

      <EditText 
       android:id="@+id/editText" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_margin="5dp" 
       android:drawableLeft="@mipmap/icon_location" 
       android:drawablePadding="10dp" 
       android:hint="WHERE TO GO" /> 

      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginTop="5dp" 
       android:paddingLeft="5dp" 
       android:text="FROM DATE" 
       android:textColor="#111" 
       android:textSize="17dp" /> 

      <EditText 
       android:id="@+id/editText2" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_margin="5dp" 
       android:drawableLeft="@mipmap/icon_calendar" 
       android:drawablePadding="10dp" 
       android:hint="30/05/2017" /> 

      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginTop="5dp" 
       android:paddingLeft="5dp" 
       android:text="TO DATE" 
       android:textColor="#111" 
       android:textSize="17dp" /> 

      <EditText 
       android:id="@+id/editText3" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_margin="5dp" 
       android:drawableLeft="@mipmap/icon_calendar" 
       android:drawablePadding="5dp" 
       android:hint="30/05/2017" /> 

      <EditText 
       android:id="@+id/editText4" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_margin="5dp" 
       android:drawableLeft="@mipmap/icon_clock" 
       android:drawablePadding="5dp" 
       android:hint="10 AM" /> 


      <EditText 
       android:id="@+id/editText5" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_margin="5dp" 
       android:drawableLeft="@mipmap/icon_people" 
       android:drawablePadding="5dp" 
       android:hint="NUMBER OF PERSON" 
       android:inputType="number" 
       android:maxLines="1" /> 

      <TextView 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:layout_marginTop="5dp" 
       android:paddingLeft="8dp" 
       android:text="CAR TYPE" 
       android:textColor="#111" 
       android:textSize="17dp" /> 

      <LinearLayout 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:orientation="horizontal"> 

       <RadioGroup 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:orientation="horizontal"> 

        <RadioButton 
         android:id="@+id/radioButton" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_gravity="center_horizontal" 
         android:text="SEDDAN" /> 

        <RadioButton 
         android:id="@+id/radioButton2" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:layout_gravity="right" 
         android:text="HACHBACK" /> 

        <RadioButton 
         android:id="@+id/radioButton3" 
         android:layout_width="wrap_content" 
         android:layout_height="wrap_content" 
         android:text="SUV" /> 
       </RadioGroup> 
      </LinearLayout> 
     </LinearLayout> 
    </android.support.v4.widget.NestedScrollView> 
+0

我可以放置scrollview – Yogesh

+0

@Yogesh檢查我更新的答案 – Rahul

0

NestedScrollView只能有一個直接子作爲錯誤信息的狀態。你有幾個直接的孩子,所以這是行不通的。

要解決此問題,您可以將NestedScrollView的所有直接孩子包裝在LinearLayout中。這將使滾動視圖只有一個孩子:新的LinearLayout

LinearLayout只是一個ViewGroup您可以使用,但它可能是在這種情況下最合適的。