【问题标题】:Android: Floating Actions Menu on click not workingAndroid:单击时浮动操作菜单不起作用
【发布时间】:2015-09-27 08:26:13
【问题描述】:

我有一个包含三个选项卡的活动 (HomeActivity)。每个选项卡都有自己的片段,在一个片段中,我有带有 3 个浮动操作按钮的浮动操作菜单。这是 XML:

<?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);
}

有没有人知道为什么它不起作用。谢谢。

【问题讨论】:

    标签: android android-layout floating-action-button


    【解决方案1】:

    尝试使用 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
                        }
                });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-02
      • 2015-12-31
      • 2016-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-01-13
      相关资源
      最近更新 更多