2016-09-13 26 views
0

我想根據一些小吃店出現和消失更改浮動操作按鈕的位置。小吃店自行更新,但它不適用於手動解僱的小吃店。我想在後一種情況下在onDependentViewRemoved中設置位置,但是,由於時間不變,它會導致一些問題,因爲onDependentViewChanged和onDependentViewRemoved都被調用。因此,我想以某種方式能夠在onDependentViewChanged或onDependentViewRemoved中檢測到給定小吃棒是否被解僱或超時。將快餐欄的視圖設置爲浮動操作按鈕不是一種選擇,因爲這些快餐欄可以出現在多個片段上,並不是所有片斷都具有浮動操作按鈕。我想知道是否有人知道浮動動作按鈕的行爲中是否可以檢測到這種事件/狀態檢測?Android:檢測小吃店解僱或協調員佈局的行爲超時

這是我現在有:

@Override 
    public boolean onDependentViewChanged(CoordinatorLayout parent, View child, View dependency) { 
     if ((child instanceof FloatingActionMenu || 
       child instanceof FloatingActionButton) && 
       (dependency instanceof Snackbar.SnackbarLayout || 
         dependency instanceof AHBottomNavigation)) { 
      this.updateTranslation(parent, child, dependency); 
     } 

     return false; 
    } 

    @Override 
    public void onDependentViewRemoved(CoordinatorLayout parent, View child, View dependency) { 
     if ((child instanceof FloatingActionMenu || 
       child instanceof FloatingActionButton) && 
       dependency instanceof Snackbar.SnackbarLayout) { 

      this.updateTranslation(parent, child, dependency); 
     } 
    } 

然而,正如我所說,位置被搞砸了,甚至有時應用程序崩潰時會調用兩種方法(當小吃吧超時)。有人能幫我嗎?

回答

2