您的位置:首页 > 其它

自定义dialog

2016-06-03 16:33 225 查看
res/values/style.xml

新建style标签

<style
name="dialog_custom" parent="android:style/Theme.Dialog"
>
<item name="android:windowFrame">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:background">#00000000</item>
<item name="android:windowBackground">@android:color/transparent</item>
</style>


去掉边框,无标题栏,黑色,背景透明

MyDialog 实现Dialog

构造函数 引入自定义dialog style

public SetUpPasswordDialog(Context context) {
// TODO Auto-generated constructor stub
super(context, R.style.dialog_custom);
this.context=context;
}


通常在MyDialog中设置回调接口(例如按钮触发事件),并提供公有的设置回调接口的方法,提供给使用dialog的,将具体的不同事件的编写交给使用dialog者,解耦了之间的依赖。

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case :
myCallBack.cancel();
break;

case :
myCallBack.ok();

break;
}

public interface MyCallBack{
void ok();
void cancel();
}

public void setCallBack(MyCallBack myCallBack){
this.myCallBack =myCallBack;
}


使用者只需

setCallBack(new SetUpPasswordDialog.MyCallBack() {

@Override
public void ok() {
// TODO Auto-generated method stub

}

@Override
public void cancel() {
// TODO Auto-generated method stub

}
});


这是不是有点像android提供的监听器呢? 哈哈哈
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: