我一直在尝试许多解决方案来在单击 FAB(FloatingActionButton)的 onClickListener 时使 Activity 背景变暗。
这是我尝试的代码,但不起作用,因为我不确定“父级”是什么:
m_fabContactOptions.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
isFabExpanded = !isFabExpanded ;
if (isFabExpanded ) {
WindowManager wm = (WindowManager) getActivity().getSystemService(Context.WINDOW_SERVICE);
WindowManager.LayoutParams p = (WindowManager.LayoutParams) parent.getLayoutParams();
p.flags = WindowManager.LayoutParams.FLAG_DIM_BEHIND;
p.dimAmount = 0.4f;
wm.updateViewLayout(parent, p);
}
else {
WindowManager wm = (WindowManager) getActivity().getSystemService(Context.WINDOW_SERVICE);
WindowManager.LayoutParams p = (WindowManager.LayoutParams) parent.getLayoutParams();
p.flags = WindowManager.LayoutParams.FLAG_DIM_BEHIND;
p.dimAmount = 0.0f;
wm.updateViewLayout(parent, p);
}
}
});
最佳答案
对我有用的是创建一个填充整个屏幕的 LinearLayout 并将 alpha 设置为 0.5(50% 不透明度)并使其默认隐藏。单击按钮时,我只是使其可见,当我需要隐藏它时,我将其删除。
LinearLayour 代码如下:
<LinearLayout
android:id="@+id/llDim"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/black"
android:alpha="0.5"
android:orientation="vertical"
android:visibility="gone"/>
关于java - 单击 FAB 时使 Activity 变暗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59967886/