3

我想有CollapsingToolbarLayout(內AppBarLayout)這擴展用戶時起牀手指 /崩潰。當用戶在屏幕上按住並移動手指時,CollapsingToolbarLayout應同時更改大小(標準行爲)。如何僅強制CollapsingToolbarLayour的兩個狀態(展開和摺疊)?

我的問題是部分:「CollapsingToolbarLayout擴展當用戶起牀手指 我有(片段內)從物質支持庫標準溶液/坍塌:

(我刪除不重要屬性):

<android.support.design.widget.CoordinatorLayout> 
    <android.support.design.widget.AppBarLayout 
     android:id="@+id/app_bar"> 
     <android.support.design.widget.CollapsingToolbarLayout 
      android:id="@+id/toolbar_layout" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar" 
       android:layout_height="?attr/actionBarSize" 
       app:layout_collapseMode="pin"/> 

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

    <include layout="@layout/content_scrolling" /> 

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

我試圖處理onTouch事件是這樣的:

findViewById(R.id.app_bar).setOnTouchListener(new View.OnTouchListener() { 

    int counter = 0; 
    @Override 
    public boolean onTouch(View v, MotionEvent event) { 
     switch (event.getActionMasked()) { 
      case MotionEvent.ACTION_DOWN: 
       counter++; 
       Log.d("tag toolbar_layout", "=== ACTION_DOWN "+ counter); 
       break; 
      case MotionEvent.ACTION_CANCEL: 
       counter--; 
       Log.d("tag toolbar_layout", " == ACTION_UP " +counter); 
       break; 
      case MotionEvent.ACTION_CANCEL: 
       counter--; 
       Log.d("tag toolbar_layout", " == ACTION_CANCEL "+ counter); 

      break; 
     default: 
      Log.d("tag toolbar_layout", "onTouch "+ event.getAction()); 
     } 

     return true; 
    } 

但我幾乎收到ACTION_CANCEL和非常罕見的和ACTION_CANCEL爲時尚早當應用程序收到該事件時,我仍握住屏幕。在ACTION_CANCEL之後,應用程序甚至不再收到任何內容。我不能在appbar上撥打setExpanded(true, true)

所以問題是:還有另一種方式來獲得信息用戶起牀指形狀CollapsingToolbarLayout

回答

0

如果我正確理解你的問題,你想完全展開/摺疊CollapsingToolbarLayout用戶停止滾動(該用戶已經取消了從屏幕上手指)後?所述AppBarLayout提供了一個渦旋標誌管理單元的內容[1],以提供這樣的效果:

公共靜態最終詮釋SCROLL_FLAG_SNAP

在結束一滾動,如果視圖是僅部分可見然後它 將被捕捉並滾動到最近的邊緣。例如,如果 視圖只有它的顯示底部的25%,將完全滾出 屏幕。相反,如果底部75%是可見的,那麼它將被滾動到視野中。

[1] http://developer.android.com/reference/android/support/design/widget/AppBarLayout.LayoutParams.html#SCROLL_FLAG_SNAP