Android:点击浮动操作菜单无效
Android: Floating Actions Menu on click not working
我有一个带有三个选项卡的 Activity(主页Activity)。每个选项卡都有自己的片段,在一个片段中我有带有 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);
}
有谁知道为什么它不起作用。谢谢
尝试使用 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
}
});
我有一个带有三个选项卡的 Activity(主页Activity)。每个选项卡都有自己的片段,在一个片段中我有带有 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);
}
有谁知道为什么它不起作用。谢谢
尝试使用 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
}
});