-1

這是我使用導航欄和滾動視圖的佈局。滾動視圖導航欄android

<android.support.design.widget.CoordinatorLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="true" 
tools:context=".AccountActivity"> 

<android.support.v4.widget.DrawerLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/drawer_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true"> 

    <!-- your content layout --> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     > 

     <android.support.design.widget.AppBarLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:theme="@style/AppTheme.AppBarOverlay" 
      app:elevation="0dp"> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:minHeight="?attr/actionBarSize" 
       app:elevation="0dp" /> 

     </android.support.design.widget.AppBarLayout> 

     <!--content of account activity--> 

     <ScrollView 
      android:layout_height="fill_parent" 
      android:layout_width="fill_parent" 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      > 

      <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       xmlns:app="http://schemas.android.com/apk/res-auto" 
       xmlns:tools="http://schemas.android.com/tools" 
       android:id="@+id/activity_setup" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       tools:context=".AccountActivity"> 

       <ImageView 
        android:layout_width="match_parent" 
        android:background="@drawable/listgrad" 
        android:id="@+id/imageView" 
        android:layout_height="100dp" /> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:inputType="textPersonName" 
        android:text="Name" 
        android:layout_below="@+id/profilepic" 
        android:id="@+id/accountnamefield" 
        android:textSize="18sp" 
        android:layout_centerVertical="true" 
        android:layout_centerHorizontal="true" /> 


       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Recently Match" 
        android:id="@+id/recentMatchTitle" 
        android:textSize="18sp" 
        android:layout_below="@+id/accountnamefield" 
        android:layout_centerVertical="true" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentStart="true" /> 

       <android.support.v7.widget.RecyclerView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:id="@+id/recentMatchProductList" 
        android:layout_below="@+id/recentMatchTitle" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentStart="true" 
        android:layout_alignParentRight="true" 
        android:layout_alignParentEnd="true"> 
       </android.support.v7.widget.RecyclerView> 

       <ImageButton 
        android:layout_width="150dp" 
        android:layout_height="150dp" 
        app:srcCompat="@mipmap/ic_account_circle_white_36dp" 
        android:id="@+id/profilepic" 
        android:background="@drawable/round_button" 
        android:layout_marginTop="21dp" 
        android:layout_alignParentTop="true" 
        android:layout_centerHorizontal="true" /> 

      </RelativeLayout> 

     </ScrollView> 

    </LinearLayout> 

    <android.support.design.widget.NavigationView 
     android:id="@+id/navigation_view" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     app:headerLayout="@layout/nav_header_main" 
     app:menu="@menu/drawer" /> 

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

我正在使用與導航抽屜滾動視圖。爲什麼我打開和關閉導航抽屜,然後視圖將滾動到底部位置?我可以將它移動到頂部還是保持原位?請給我一些幫助。

回答

0

你的佈局有問題一大堆:

機器人:layout_alignParentStart =「真」 - 同爲左的東西(或向右RTL) 機器人:layout_alignParentEnd =「真」 - 如右圖同樣的事情(或 離開RTL)

是錯誤的申報開始離開的同時

使用滾動型內回收者視圖 - 不好的做法,絕不會工作。你可以使用嵌套滾動視圖(RecyclerView inside ScrollView is not working),但更好的解決方案是把你想要的東西放在滾動視圖中(如頁眉和頁腳)。

我認爲沒有辦法來衡量你的佈局。試圖弄清楚android如何繪製視圖(https://medium.com/@britt.barak/measure-layout-draw-483c6a4d2fab#.y7nd8gyql)。

P.S.你的佈局存在更多問題,編寫新佈局比指出所有問題更容易。

+0

機器人:layout_alignParentStart = 「true」 和機器人:layout_alignParentEnd = 「真」 被自動生成當我使用xml拖動視圖。我會去看看那個網站,但在一項活動中處理如此多的觀點仍然不是很好。謝謝。 – ng2b30

2

刪除android:inputType="textPersonName"部分首先用於TextView。那麼 添加android:scrollbars="vertical"ScrollView。它的工作對我罰款。

在這裏,我將發佈我用於測試的代碼,ScrollView保持相同的位置,同時使用NavigationDrawer

<android.support.design.widget.CoordinatorLayout 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:fitsSystemWindows="true" 
tools:context=".MainActivity"> 

<android.support.v4.widget.DrawerLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:id="@+id/drawer_layout" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true"> 

    <!-- your content layout --> 
    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     > 

     <android.support.design.widget.AppBarLayout 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:theme="@style/AppTheme.AppBarOverlay" 
      app:elevation="0dp"> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:minHeight="?attr/actionBarSize" 
       app:elevation="0dp" /> 

     </android.support.design.widget.AppBarLayout> 

     <!--content of account activity--> 

     <ScrollView 
      android:layout_height="fill_parent" 
      android:layout_width="fill_parent" 
      xmlns:android="http://schemas.android.com/apk/res/android" 
      android:scrollbars="vertical" 
      > 

      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
       xmlns:app="http://schemas.android.com/apk/res-auto" 
       xmlns:tools="http://schemas.android.com/tools" 
       android:id="@+id/activity_setup" 
       android:layout_width="match_parent" 
       android:layout_height="match_parent" 
       android:orientation="vertical" 
       tools:context=".MainActivity"> 


       <TextView 
        android:layout_width="match_parent" 
        android:layout_height="wrap_content" 
        android:text="@string/bla" 
        android:id="@+id/accountnamefield" 
        android:textSize="18sp" 
        android:layout_centerVertical="true" 
        android:layout_centerHorizontal="true" 
        /> 


       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Recently Match" 
        android:id="@+id/recentMatchTitle" 
        android:textSize="18sp" 
        android:layout_below="@+id/accountnamefield" 
        android:layout_centerVertical="true" 
        android:layout_alignParentLeft="true" 
        android:layout_alignParentStart="true" /> 



      </LinearLayout> 

     </ScrollView> 

    </LinearLayout> 

    <android.support.design.widget.NavigationView 
     android:id="@+id/navigation_view" 
     android:layout_width="wrap_content" 
     android:layout_height="match_parent" 
     android:layout_gravity="start" 
     app:headerLayout="@layout/nav_header_main" 
     app:menu="@menu/activity_main_drawer" /> 

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

+0

謝謝你的回答。但是,我無法解決我的問題。我認爲滾動視圖會受到回收站視圖的影響,因此會進入底部。 – ng2b30