java - 单击 FAB 时使 Activity 变暗

标签 java android

我一直在尝试许多解决方案来在单击 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/

相关文章:

java - OpenImaj AdaptiveLocalThresholdContrast 空指针异常

java - gwt javax.servlet.ServletContext 日志 : Exception while dispatching incoming RPC call creating mapdb db

android - 在android中将手势转换为文本的API或方法

java - 如何设置 ListPreference 的默认值

android - Google map 错误 - Android 应用 ¦¦ v2

java - Android Studio- Java RecyclerView显示的 View (所有者)多于 session 室数据库中的行数

java - Gson java.lang.IllegalArgumentException : No time zone indicator

java - 我可以做一个二维数组,它的元素是 List

java - 如何将多个 boolean 比较合并为一个

java - 带有自定义适配器的抽屉导航 react 不正确