2015-11-03 66 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。