gpt4 book ai didi

android - DialogFragment去除透明黑色

转载 作者:太空宇宙 更新时间:2023-11-03 11:35:03 32 4
gpt4 key购买 nike

我需要创建一个背景中没有透明黑色层的 DialogFragment,或者至少用透明白色层交换它。

尝试使用来自不同 SO 答案的这个技巧,但这不是我想要的:getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.RED));

正如您在这张图片上看到的,对话框周围有一个红色区域,但它不是我要找的那个,一定有其他背景: https://www.dropbox.com/s/4hlgil6btxtqcg4/dialog.png

如果您有任何想法或解决方法,请与我分享。

谢谢!

最佳答案

您必须将 android:windowIsFloating 设置为 false 并将 android:windowBackground 设置为您在对话框样式中的自定义颜色:

样式.xml

<resources xmlns:android="http://schemas.android.com/apk/res/android">

<style name="MyDialog" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowBackground">@color/orange_transparent</item>
<item name="android:windowIsFloating">false</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowTitleStyle">@null</item>
<item name="android:colorBackgroundCacheHint">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
<item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
<item name="android:gravity">center</item>
</style>

</resources>

测试对话框 fragment

public class TestDialogFragment extends DialogFragment {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(DialogFragment.STYLE_NO_TITLE, R.style.MyDialog);
}
}

关于android - DialogFragment去除透明黑色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19766402/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com