我需要在背景中创建一个没有透明黑色图层的DialogFragment,或者至少用透明的白色交换它.
试图从不同的SO答案中使用这个技巧,但这不是我想要的:
getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.RED));
正如你在这张图片上看到的那样,对话框周围有一个红色区域,但它不是我要找的那个,必须有其他背景:https: //www.dropbox.com/s/4hlgil6btxtqcg4/dialog.png
如果您有任何想法或解决方法,请与我分享.
谢谢!
Har*_*dik 10
你必须在对话框样式中设置android:windowIsFloating为false和android:windowBackground自定义颜色:
styles.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>
Run Code Online (Sandbox Code Playgroud)
TestDialogFragment
public class TestDialogFragment extends DialogFragment {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(DialogFragment.STYLE_NO_TITLE, R.style.MyDialog);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4183 次 |
| 最近记录: |