0

我有一個android界面使用coordinatorLayout,AppBarLayout和NestedScrollView來管理滾動操作。CoordinatorLayout位置Android

Before scroll Snapshot

After scroll Snapshot

我如何展示AppbarLayout到屏幕頂部時,我點擊滾動後的評論按鈕?就像之前滾動。

這裏是我的佈局:

<android.support.design.widget.CoordinatorLayout 
android:id="@+id/coordinator" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:background="#ececec"> 

<android.support.design.widget.AppBarLayout 
    android:id="@+id/appbar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content"> 

    <android.support.design.widget.CollapsingToolbarLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:background="#f7f7f7" 
     android:fitsSystemWindows="true" 
     android:minHeight="1dp" 
     app:contentScrim="?attr/colorPrimary" 
     app:layout_scrollFlags="scroll|exitUntilCollapsed|enterAlwaysCollapsed"> 

     <TextView 
      android:layout_width="match_parent" 
      android:layout_height="200dp" 
      android:background="@color/color_3" 
      android:layout_margin="10dp"/> 
     <!--<include layout="@layout/wentixiangqing_dingbu_wentidaan"/>--> 

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

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="50dp" 
     android:background="#FFF"> 
     <View 
      android:layout_width="0dp" 
      android:layout_height="wrap_content" 
      android:layout_weight="1"/> 
     <FrameLayout 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:orientation="vertical"> 
      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical" 
       android:text="star:123" 
       android:textColor="#797979"/> 
      <View 
       android:layout_width="30dp" 
       android:layout_height="3dp" 
       android:layout_gravity="bottom|center_horizontal" 
       android:background="#F00"/> 
     </FrameLayout> 
     <FrameLayout 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:layout_marginLeft="30dp" 
      android:layout_marginRight="20dp" 
      android:orientation="vertical"> 
      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_gravity="center_vertical" 
       android:text="comment:90" 
       android:textColor="#797979"/> 
      <View 
       android:layout_width="30dp" 
       android:layout_height="3dp" 
       android:layout_gravity="bottom|center_horizontal" 
       android:background="#F00"/> 
     </FrameLayout> 
    </LinearLayout> 

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

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

    <android.support.v7.widget.RecyclerView 
     android:id="@+id/recycler" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_marginBottom="40dp" 
     android:layout_marginTop="1dp" 
     android:overScrollMode="always" /> 

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

<Button 
    android:layout_width="wrap_content" 
    android:layout_height="40dp" 
    android:layout_gravity="bottom|end" 
    android:text="Comment" /></android.support.design.widget.CoordinatorLayout> 

任何建議,將不勝感激。

回答

1

您是否在點擊按鈕時試過這段代碼?

AppBarLayout appBarLayout = (AppBarLayout)findViewById(R.id.appbar); 
      appBarLayout.setExpanded(true, true); 

也看到這一點:Hide/Show Toolbar programmatically on CoordinatorLayout

+0

謝謝你的建議,但對於我,我想顯示appbarlayout當用戶只按下按鈕,評論這是行不通的。 – Deng

+0

你有沒有把這個調用放到你的按鈕的點擊監聽器中? 'appBarLayout.setExpanded(true,true);' –

+1

emmmm,對不起,我再次嘗試過,它的工作原理!非常感謝您的建議! – Deng