2015-11-03 109 views
1

我目前在电子商务android应用程序,我需要修复工具栏,而滚动。如何设置我的工具栏固定滚动android

正如我附上下面的截图。而滚动操作栏需要被固定和工具栏

enter image description here

这背后的主体内容滚动是布局的xml:

<LinearLayout 
    android:id="@+id/container_toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical"> 

    <include 
     android:id="@+id/toolbar_reg" 
     layout="@layout/app_bar" /> 
</LinearLayout> 

<ScrollView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:elevation="3dp"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_marginTop="?android:attr/actionBarSize" 
     android:background="#ffffff" 
     android:orientation="vertical"> 

     <ImageView 
      android:layout_width="match_parent" 
      android:layout_height="150dp" 
      android:layout_marginTop="15dp" 
      android:src="@drawable/logo" /> 


     <android.support.design.widget.TextInputLayout 
      android:id="@+id/input_layout_name" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="5dp" 
      android:layout_marginLeft="15dp" 
      android:layout_marginRight="15dp" 
      android:layout_marginTop="5dp"> 

      <EditText 
       android:id="@+id/input_name" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 

       android:hint="@string/reg_name" 
       android:singleLine="true" /> 
     </android.support.design.widget.TextInputLayout> 

     <android.support.design.widget.TextInputLayout 
      android:id="@+id/input_layout_email" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="5dp" 
      android:layout_marginLeft="15dp" 
      android:layout_marginRight="15dp" 
      android:layout_marginTop="5dp"> 

      <EditText 
       android:id="@+id/input_email" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 

       android:hint="@string/reg_email" 
       android:inputType="textEmailAddress" /> 
     </android.support.design.widget.TextInputLayout> 

     <android.support.design.widget.TextInputLayout 
      android:id="@+id/input_layout_password" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="5dp" 
      android:layout_marginLeft="15dp" 
      android:layout_marginRight="15dp" 
      android:layout_marginTop="5dp"> 

      <EditText 
       android:id="@+id/input_password" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 

       android:hint="@string/reg_password" 
       android:inputType="textPassword" /> 
     </android.support.design.widget.TextInputLayout> 

     <android.support.design.widget.TextInputLayout 
      android:id="@+id/input_layout_cpassword" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="5dp" 
      android:layout_marginLeft="15dp" 
      android:layout_marginRight="15dp" 
      android:layout_marginTop="5dp"> 

      <EditText 
       android:id="@+id/input_cpassword" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 

       android:hint="Confirm Password" 
       android:inputType="textPassword" /> 
     </android.support.design.widget.TextInputLayout> 

     <android.support.design.widget.TextInputLayout 
      android:id="@+id/input_layout_mobile" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="5dp" 
      android:layout_marginLeft="15dp" 
      android:layout_marginRight="15dp" 
      android:layout_marginTop="5dp"> 

      <EditText 
       android:id="@+id/input_mobile" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 

       android:hint="Mobile No" 
       android:inputType="number" /> 
     </android.support.design.widget.TextInputLayout> 

     <android.support.design.widget.TextInputLayout 
      android:id="@+id/input_layout_dob" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="5dp" 
      android:layout_marginLeft="15dp" 
      android:layout_marginRight="15dp" 
      android:layout_marginTop="5dp"> 

      <EditText 
       android:id="@+id/input_dob" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 

       android:hint="Date of Birth" /> 
     </android.support.design.widget.TextInputLayout> 

     <android.support.design.widget.TextInputLayout 
      android:id="@+id/input_layout_address" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="5dp" 
      android:layout_marginLeft="15dp" 
      android:layout_marginRight="15dp" 
      android:layout_marginTop="5dp"> 

      <EditText 
       android:id="@+id/input_address" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:hint="Permanent Address" /> 
     </android.support.design.widget.TextInputLayout> 

     <Button 
      android:id="@+id/btn_signup" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="15dp" 
      android:layout_marginRight="15dp" 
      android:layout_marginTop="25dp" 
      android:background="@color/colorPrimary" 
      android:text="@string/btn_sign_up" 
      android:textColor="@android:color/white" /> 

     <TextView 
      android:id="@+id/link_login" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="150dp" 
      android:layout_marginTop="15dp" 
      android:gravity="center" 
      android:text="@string/req_login" 
      android:textSize="16dp" /> 

    </LinearLayout> 
</ScrollView> 

+0

安置自己的布局和活动/片段代码。这是android中的默认行为,内容通常在动作栏后面滚动。因此,如果它正在滚动您的操作栏,那么您正在布局中执行某些操作。 – Naveed

+0

我已经附上了我的布局,请检查并尽快告诉我 –

+0

我在布局中看不到根视图。您应该将所有滚动视图移动到线性布局中。 – Naveed

回答

7

您应该构建您的XML,以便它是这样的:

Relative layout 
|-->Toolbar (android:id="@+id/toolbar") 
|-->ScrollView (android:layout_below="@id/toolbar") 
    |-->Child 
    |-->Child 
    |-->Child 

示例代码:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 
    <android.support.v7.widget.Toolbar 
     xmlns:android="http://schemas.android.com/apk/res/android" 
     android:theme="@style/WelcomeActivityTheme.Toolbar" 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="56dp" 
     /> 
    <ScrollView 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_below="@id/toolbar"> 
     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
     /> 
    </ScrollView> 
</RelativeLayout> 
0

您发布的布局似乎没有根视图。

但是修复需要在同一父下移到你的滚动视图滚动的问题如下:

<LinearLayout 
    android:id="@+id/container_toolbar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="vertical"> 

    <include 
     android:id="@+id/toolbar_reg" 
     layout="@layout/app_bar" /> 

<ScrollView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:elevation="3dp"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_marginTop="?android:attr/actionBarSize" 
     android:background="#ffffff" 
     android:orientation="vertical"> 

     <ImageView 
      android:layout_width="match_parent" 
      android:layout_height="150dp" 
      android:layout_marginTop="15dp" 
      android:src="@drawable/logo" /> 


     <android.support.design.widget.TextInputLayout 
      android:id="@+id/input_layout_name" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="5dp" 
      android:layout_marginLeft="15dp" 
      android:layout_marginRight="15dp" 
      android:layout_marginTop="5dp"> 

      <EditText 
       android:id="@+id/input_name" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 

       android:hint="@string/reg_name" 
       android:singleLine="true" /> 
     </android.support.design.widget.TextInputLayout> 

     <android.support.design.widget.TextInputLayout 
      android:id="@+id/input_layout_email" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="5dp" 
      android:layout_marginLeft="15dp" 
      android:layout_marginRight="15dp" 
      android:layout_marginTop="5dp"> 

      <EditText 
       android:id="@+id/input_email" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 

       android:hint="@string/reg_email" 
       android:inputType="textEmailAddress" /> 
     </android.support.design.widget.TextInputLayout> 

     <android.support.design.widget.TextInputLayout 
      android:id="@+id/input_layout_password" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="5dp" 
      android:layout_marginLeft="15dp" 
      android:layout_marginRight="15dp" 
      android:layout_marginTop="5dp"> 

      <EditText 
       android:id="@+id/input_password" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 

       android:hint="@string/reg_password" 
       android:inputType="textPassword" /> 
     </android.support.design.widget.TextInputLayout> 

     <android.support.design.widget.TextInputLayout 
      android:id="@+id/input_layout_cpassword" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="5dp" 
      android:layout_marginLeft="15dp" 
      android:layout_marginRight="15dp" 
      android:layout_marginTop="5dp"> 

      <EditText 
       android:id="@+id/input_cpassword" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 

       android:hint="Confirm Password" 
       android:inputType="textPassword" /> 
     </android.support.design.widget.TextInputLayout> 

     <android.support.design.widget.TextInputLayout 
      android:id="@+id/input_layout_mobile" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="5dp" 
      android:layout_marginLeft="15dp" 
      android:layout_marginRight="15dp" 
      android:layout_marginTop="5dp"> 

      <EditText 
       android:id="@+id/input_mobile" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 

       android:hint="Mobile No" 
       android:inputType="number" /> 
     </android.support.design.widget.TextInputLayout> 

     <android.support.design.widget.TextInputLayout 
      android:id="@+id/input_layout_dob" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="5dp" 
      android:layout_marginLeft="15dp" 
      android:layout_marginRight="15dp" 
      android:layout_marginTop="5dp"> 

      <EditText 
       android:id="@+id/input_dob" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 

       android:hint="Date of Birth" /> 
     </android.support.design.widget.TextInputLayout> 

     <android.support.design.widget.TextInputLayout 
      android:id="@+id/input_layout_address" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="5dp" 
      android:layout_marginLeft="15dp" 
      android:layout_marginRight="15dp" 
      android:layout_marginTop="5dp"> 

      <EditText 
       android:id="@+id/input_address" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:hint="Permanent Address" /> 
     </android.support.design.widget.TextInputLayout> 

     <Button 
      android:id="@+id/btn_signup" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="15dp" 
      android:layout_marginRight="15dp" 
      android:layout_marginTop="25dp" 
      android:background="@color/colorPrimary" 
      android:text="@string/btn_sign_up" 
      android:textColor="@android:color/white" /> 

     <TextView 
      android:id="@+id/link_login" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:layout_marginBottom="150dp" 
      android:layout_marginTop="15dp" 
      android:gravity="center" 
      android:text="@string/req_login" 
      android:textSize="16dp" /> 

    </LinearLayout> 
</ScrollView> 
</LinearLayout> 
0

定根的观点是RelativeLayout的在你的XML 你应该在滚动视图XML设置

<ScrollView 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_below="@+id/container_toolbar" 
    android:elevation="3dp"> 

并从scrollview标签下的线性布局移除margin_top。