2015-09-27 70 views
3

我有一個活動(HomeActivity)與三個選項卡。每個選項卡都有自己的片段,並且在一個片段中,我擁有帶有3個浮動操作按鈕的浮動操作菜單。這裏是XML:Android:浮動行動菜單上點擊不起作用

<?xml version="1.0" encoding="utf-8"?> 

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:id="@+id/main_home_layout" 
android:orientation="vertical"> 

    <TextView 
     android:id="@+id/textView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_centerInParent="true" 
     android:text="Recent" 
     android:textAppearance="?android:attr/textAppearanceLarge" /> 

    <com.getbase.floatingactionbutton.FloatingActionsMenu 
     android:id="@+id/fabMenu" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentBottom="true" 
     android:layout_alignParentEnd="true" 
     android:layout_alignParentRight="true" 
     android:layout_margin="16dp" 
     android:onClick="fabMenuClicked" 
     app:fab_addButtonColorNormal="?attr/colorAccent" 
     app:fab_addButtonColorPressed="#00b1c7" 
     app:fab_labelStyle="@style/fab_menu_label_style"> 

     <com.getbase.floatingactionbutton.FloatingActionButton 
      android:id="@+id/singleChatFab" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      app:fab_colorNormal="?attr/colorAccent" 
      app:fab_colorPressed="#00b1c7" 
      app:fab_size="mini" 
      app:fab_title="New chat"/> 

     <com.getbase.floatingactionbutton.FloatingActionButton 
      android:id="@+id/groupChatFab" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      app:fab_colorNormal="?attr/colorAccent" 
      app:fab_colorPressed="#00b1c7" 
      app:fab_size="mini" 
      app:fab_title="New group chat"/> 

     <com.getbase.floatingactionbutton.FloatingActionButton 
      android:id="@+id/serviceChatFab" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      app:fab_colorNormal="?attr/colorAccent" 
      app:fab_colorPressed="#00b1c7" 
      app:fab_size="mini" 
      app:fab_title="Request a service"/> 
    </com.getbase.floatingactionbutton.FloatingActionsMenu> 

</RelativeLayout> 

它擴大了點擊,它工作正常。我想要做的事情是當浮動操作菜單被點擊時,改變它的佈局的不透明度(相對佈局,ID:main_home_layout)。

但我的點擊方法從未輸入。我試圖把它放在保存片段的Activity中,但它不起作用。我試圖放在片段中,仍然沒有。我在調試模式下運行應用程序,斷點從來沒有捉襟見肘。

這是點擊的方法:

public void fabMenuClicked(View v) { 
    final FloatingActionsMenu floatingActionsMenu = (FloatingActionsMenu) v; 
    findViewById(R.id.main_home_layout).getBackground().setAlpha(128); 
} 

有沒有人有一個想法,爲什麼它不會工作。謝謝。

回答

3

嘗試使用setOnFloatingActionsMenuUpdateListener,改變顏色,按您在被覆蓋的onMenuExpanded和onMenuCollapsed方法需要,如:

FloatingActionsMenu floatingMenu = v.findViewById(R.id.fabMenu);    
    ((FloatingActionsMenu)floatingMenu).setOnFloatingActionsMenuUpdateListener(new FloatingActionsMenu.OnFloatingActionsMenuUpdateListener() { 
        @Override 
        public void onMenuExpanded() { 
         findViewById(R.id.main_home_layout).getBackground().setAlpha(128); //change opacity here 
        } 

        @Override 
        public void onMenuCollapsed() { 
         findViewById(R.id.main_home_layout).getBackground().setAlpha(64); //change opacity here 
        } 
      }); 
+0

感謝的人,它的工作:) –