Android dialog去除边框代码 & 自定义dialog

本文介绍如何在Android中创建自定义样式的对话框(dialog),包括定义样式文件styles.xml的具体方法,以及通过AlertDialog接口类调用这些样式实现对话框位置和属性的自定义。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用样式文件,在values 目录下新建styles.xml文件
<resources>
<style name="dialog" parent="@android:style/Theme.Dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowIsTranslucent">false</item>
<item name="android:windowNoTitle">true</item>
<item name="android:background">@android:color/black</item>
<item name="android:windowBackground">@null</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
</resources>

 

调用时,使用AlerDialog的接口类


Dialog dialog =new Dialog(SetActivity.this, R.style.dialog);
dialog.setContentView(R.layout.test);
dialog.show();

 


public Dialog(Context context, int theme) {
mContext =new ContextThemeWrapper(context, theme ==0?com.android.internal.R.style.Theme_Dialog : theme);

mWindowManager = (WindowManager)context.getSystemService("window");
Window w = PolicyManager.makeNewWindow(mContext);
mWindow = w;
w.setCallback(this);
w.setWindowManager(mWindowManager, null, null);
w.setGravity(Gravity.CENTER);
mUiThread = Thread.currentThread();
mDismissCancelHandler =new DismissCancelHandler(this);
}

 

 

 

 


2013-11-8号更新:

http://www.open-open.com/lib/view/open1325635738437.html

http://www.cnblogs.com/and_he/archive/2011/09/16/2178716.html

http://blog.youkuaiyun.com/qjlhlh/article/details/7979179


用Window 定义dialog的位置和属性:

http://www.cnblogs.com/angeldevil/archive/2012/03/31/2426242.html


android自带的dialog的默认样式挺丑的,如果你想要自定义dialog的样式,需要写一个style样式。

最近总是在用dialog,发现还是有很多地方要注意的。比如我点击dialog外部区域是否让dialog消失就可以通过一个属性设置?





 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值