博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android自定义Dialog及其布局
阅读量:6352 次
发布时间:2019-06-22

本文共 1680 字,大约阅读时间需要 5 分钟。

 实际项目开发中默认的Dialog样式无法满足需求,需要自定义Dialog及其布局,并响应布局中控件的事件。

上效果图:

 

自定义Dialog,LogoutDialog:

要将自定义布局传入构造函数中,才能在Activity中通过 dialog.findviewbyid 获取到控件,否则返回null。

public class LogoutDialog extends Dialog{  Context context;  public LogoutDialog(Context context) {  super(context);  this.context=context;  this.setContentView(R.layout.logout_dialog);  }  public LogoutDialog(Context context, int theme){  super(context, theme);  this.context = context;  this.setContentView(R.layout.logout_dialog);  }  @Override  protected void onCreate(Bundle savedInstanceState) {  super.onCreate(savedInstanceState);  //this.setContentView(R.layout.logout_dialog);  }}

自定义布局文件,logout_dialog.xml:

  
    
    
  
  
    
    
    
  

两个Shape的布局,dialog_buttom_bg.xml:

  
  

dialog_top_bg.xml:

  
  

自定义样式Style,来改变默认的Dialog样式。在values/styles.xml下新加样式:

 在Activity中调用:

Dialog dialog==new LogoutDialog(TempActivity.this, R.style.UpdateErrorFinishDialog);dialog.setCanceledOnTouchOutside(false);dialog.show();TextView submit_btn_dialog=(TextView) dialog.findViewById(R.id.submit_btn_dialog);TextView back_btn_dialog=(TextView) dialog.findViewById(R.id.back_btn_dialog);submit_btn_dialog.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View v) {    //Toaster.showLongToast("确定");    dialog.dismiss();  }});back_btn_dialog.setOnClickListener(new View.OnClickListener() {  @Override  public void onClick(View v) {    //Toaster.showLongToast("返回");    dialog.dismiss();  }});

转载于:https://www.cnblogs.com/Joanna-Yan/p/4438725.html

你可能感兴趣的文章
第0次作业
查看>>
Ubuntu里设置python默认版本为python3(转载)
查看>>
快排+折半查找
查看>>
c# GC 新典型
查看>>
ssh bash 通配符
查看>>
seajs在jquery多个版本下引用jquery的插件的方案
查看>>
关于网络上java,php和.net的“口角之争“的一点想法 !
查看>>
python 第二周(第十三天) 我的python成长记 一个月搞定python数据挖掘!(21) -正则表达式re...
查看>>
[POI2011]SEJ-Strongbox
查看>>
20文件
查看>>
Android开发Intent应用概述
查看>>
【Go】并发编程
查看>>
VMware虚拟化NSX-Manager命令行更改admin用户密码
查看>>
悦纳自己
查看>>
python字符串函数
查看>>
ORM框架Hibernate (四)MyEclipse Hibernate Tool 逆向生成实体类
查看>>
去掉iphone连接电脑时会出现的弹出窗口
查看>>
【python】-- web开发之HTML
查看>>
vs2015 去除 git 源代码 绑定
查看>>
解决firefox的button按钮文字不能垂直居中
查看>>