Java 单击晶圆厂时使活动变暗
我一直在尝试许多方法,以在单击我的FAB的onClickListener(FloatingActionButton)时使活动背景变暗 以下是我尝试的代码,它不起作用,因为我不确定“父级”是什么:Java 单击晶圆厂时使活动变暗,java,android,Java,Android,我一直在尝试许多方法,以在单击我的FAB的onClickListener(FloatingActionButton)时使活动背景变暗 以下是我尝试的代码,它不起作用,因为我不确定“父级”是什么: m_fabContactOptions.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { isFabExpanded
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);
}
}
});
若要设置活动dim,首先可以将id放入xml文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/parentLayout">
你可以得到这个元素的布局参数
LayoutParams params=parent.getLayoutParams();
若要设置活动dim,首先可以将id放入xml文件
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:id="@+id/parentLayout">
你可以得到这个元素的布局参数
LayoutParams params=parent.getLayoutParams();
试试这个代码
WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
layoutParams.dimAmount = 0.75f;
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
getWindow().setAttributes(layoutParams);
试试这个代码
WindowManager.LayoutParams layoutParams = getWindow().getAttributes();
layoutParams.dimAmount = 0.75f;
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
getWindow().setAttributes(layoutParams);
对我有效的方法是创建一个线性布局,填充整个屏幕,将alpha设置为0.5(50%不透明度),并在默认情况下将其隐藏。当按钮被点击时,我只是让它可见,当我需要隐藏它时,我将其移除 您的代码如下所示:
<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"/>
对我有效的方法是创建填充整个屏幕的线性布局,将alpha设置为0.5(50%不透明度),并在默认情况下将其隐藏。当按钮被点击时,我只是让它可见,当我需要隐藏它时,我将其移除 您的代码如下所示:
<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"/>
我收到以下错误:FrameLayout$LayoutParams无法强制转换为android.view.WindowManager$LayoutParams检查此错误:FrameLayout$LayoutParams无法强制转换为android.view.WindowManager$LayoutParams检查此错误