您的位置:首页 > 移动开发 > Android开发

Android修改AlertDilog显示黑边的问题

2015-11-17 14:26 423 查看

使用DialogFragment创建dialog有2种方式

1.一种是重写onCreateView(),然后加载自定义布局

2.一种是重写onCreateDialog()方法,然后加载自定义布局


使用第二种方式加载自定义布局时要注意加载布局时设置View的宽高

alertDialog = new AlertDialog.Builder(getActivity(), R.style.Theme_Transparent).create();
Window window = alertDialog.getWindow();
window.setGravity(Gravity.CENTER);
window.setWindowAnimations(R.style.dialog_style);
View view = View.inflate(getActivity(), R.layout.recommend_fragment, null);
initView(view);

alertDialog.setView(view, 0, 0, 0, 0);

使用这种方式加载的布局仍然会有黑边,我们需要写一个style,让背景透明
<!-- dialog没有黑边 -->
<style name="Theme_Transparent" parent="@android:Theme.DeviceDefault.Light.Dialog">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
</style>
然后使用这个style,这样dialog就没有黑边了
Window window = alertDialog.getWindow();
window.setGravity(Gravity.CENTER);
window.setWindowAnimations(R.style.dialog_style);




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐