2017-08-08 124 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您可以使用,但它可能是在这种情况下最合适的。