您的位置:首页 > 其它

AlertDialog 加载自定义布局点击按钮消失的方法

2016-08-19 00:57 405 查看
第一次写博客,请大家多多谅解。目前还在学习阶段。最近自己在做一个项目。其中设置里面用到了设置app字体大小的弹窗。我使用的是dialog。

网上搜了很多大神的文章写的都比较简单,这里我再详细补充一下自定义布局文件的点击事件的方法。

很多同学遇到了如何设置自定义布局的子条目的点击事件(特别是点击“取消”按钮让Dialog消失的方法。)



接下来直接上代码。

//显示dialog的方法
private void showSetFontsize(View view) {
view = getLayoutInflater().inflate(R.layout.item_fontsize, null);//加载自定义的布局文件
initfontsizeView(view);//绑定布局初始化控件
final AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setView(view);
**final AlertDialog dialog=builder.show();**//实例化dialog才能调用其dismiss()方法实现dialog窗口的关闭。
//小字体
llx.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showToast("小字体");
dialog.dismiss();//关闭dialog
}
});
//中字体
llz.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showToast("中字体");
dialog.dismiss();//关闭dialog
}
});
//大字体
lld.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showToast("大字体");//关闭dialog
}
});
//特大字体
lltd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showToast("特大字体");
dialog.dismiss();//关闭dialog
}
});
fontsizec.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
//        builder.show();
}
//绑定布局初始化控件
private void initfontsizeView(View view) {
fontsizex = (TextView) view.findViewById(R.id.xiao);
fontsizez = (TextView) view.findViewById(R.id.zhong);
fontsized = (TextView) view.findViewById(R.id.da);
fontsizetd = (TextView) view.findViewById(R.id.teda);
fontsizec = (TextView) view.findViewById(R.id.it_cancel);
llx = (RelativeLayout) view.findViewById(R.id.rell_xiao);
llz = (RelativeLayout) view.findViewById(R.id.rell_zhong);
lld = (RelativeLayout) view.findViewById(R.id.rell_da);
lltd = (RelativeLayout) view.findViewById(R.id.rell_teda);
}


这样就可以实现点击没一个dialog的字条目来实现不同的功能。点击“取消”也可以实现dialog窗口的关闭。

真的是第一次写博客。有问题可以回复留言。新人 ,真的很新的新人。各位大神多多指教。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: