当前位置: 首页 > news >正文

西安市建设和住房保障局网站搜狗站长工具综合查询

西安市建设和住房保障局网站,搜狗站长工具综合查询,国内最大ae模板下载网站,南昌网站制作公司文章目录整体思路实现方法第一步第二步第三步第四步各位看官们大家好,上一回中咱们说的例子是"自定义Dialog主题",这一回中咱们说的例子是" 自定义Dialog"。闲话休提,言归正转, 让我们一起Talk Android吧!整体…

文章目录

  • 整体思路
  • 实现方法
    • 第一步
    • 第二步
    • 第三步
    • 第四步

各位看官们大家好,上一回中咱们说的例子是"自定义Dialog主题",这一回中咱们说的例子是" 自定义Dialog"。闲话休提,言归正转, 让我们一起Talk Android吧!

整体思路

我们在上一章回中介绍了如何定义Dialog的主题,本章回将介绍如何自定义Dialog。

下面我分享一个整体的思路。自定义一个Dialog的子类,然后在此子类中使用自定义的主题和布局。布局的内容自己决定,我们把布局中的内容显示出来,并且可以响应相关的事件就可以。

这种自定义方式的思路就是我们在前面章回中介绍过的扩展系统组件,我们在这里扩展的组件是Dialog.

实现方法

有了整体的思路后,我们通过文字结合代码的方式来演示如何自定义Dialog。

第一步

创建Dialog的子类,我们没有直接继承Dialog而继承了它的子类AlertDialog

public class DialogCustom extends AlertDialog {//需要重写构造方法,这里就不列出来了
} 

第二步

.创建Dialog对象,创建对象时绑定自定义的主题(也就是上一章回中介绍的主题)

mAlertDialog = new AlertDialog.Builder(mContext, R.style.CustomDialogTheme).create();

第三步

自定义布局文件,并且绑定到Dialog上,可以使用Dialog的Builder绑定,也可以使用window绑定;

       Window window = mAlertDialog.getWindow();WindowManager.LayoutParams layoutParams = window.getAttributes();//layoutId是自定义的布局idView contentView = LayoutInflater.from(mContext).inflate(layoutId,null);
//        builder.setView(contentView);
//        builder.setView(R.layout.dialog_input_content_view);//使用Window的setView效果好一些window.setContentView(contentView);

第四步

显示布局中的组件,给组件添加事件响应;

    mBTYes = (Button) window.findViewById(R.id.id_bt_dialog_yes);mBTNo = (Button) window.findViewById(R.id.id_bt_dialog_no);mBTYes.setOnClickListener(v -> onYesButtonClicked());mBTNo.setOnClickListener(v -> onNoButtonClicked());mTitle = (TextView)window.findViewById(R.id.id_dialog_cust_info_title) ;mContent =(TextView)window.findViewById(R.id.id_dialog_cust_info_content) ;mTitle.setText("Custom dialog Title");mContent.setText("This is a content");

在自定义的布局中我们使用TextView来显示Dialog的标题和消息内容;使用Button来响应Yes/No事件,我们只列出了事件的方法,没有列出这些方法的实现内容,我推荐的做法是创建监听器,让调用Dialog的程序来实现监听器,这样可以更加灵活地使用Dialog。毕竟系统组件中的Dialog也是这么做的。下面是示例代码:

private void onYesButtonClicked () {if(mYesBTClickedListener != null) {mYesBTClickedListener.onBTClicked();mAlertDialog.dismiss();}
}private void onNoButtonClicked () {if(mNoBTClickedListener != null) {mNoBTClickedListener.onBTClicked();mAlertDialog.dismiss();}
}public interface OnYesBTClickedListener {void onBTClicked();
}public interface OnNoBTClickedListener {void onBTClicked();
}public void setYesBTClickedListener(OnYesBTClickedListener yesBTClickedListener) {mYesBTClickedListener = yesBTClickedListener;
}public void setNoBTClickedListener(OnNoBTClickedListener noBTClickedListener) {mNoBTClickedListener = noBTClickedListener;
}

所有代码ok后还需要调用Dialog的show()方法来显示Dialog。我在这里就不演示程序的运行结果了,建议大家自己动手去实践。

看官们,关于"自定义Dialog"的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!

http://www.dinnco.com/news/25250.html

相关文章:

  • 网站专题怎么做呢公司网页设计
  • php和java哪个做网站浩成都关键词自然排名
  • 中国好公司网站建设济南头条今日新闻
  • 设计通网站建设百度网址大全网址导航
  • 网站首页适配规则在线一键建站系统
  • 空壳网站域名备案查询官网
  • 微信服务号绑定网站百度搜索推广官网
  • 网站外链优化方法宣传推广方案
  • 邯郸网站建设哪家强百度北京总部电话
  • 三亚房产网站建设百度app下载安装 官方
  • wordpress 语法搜索引擎优化与关键词的关系
  • 购买网站服务器德兴网站seo
  • 怎么做美食的网站产品推广平台
  • 微网站平台怎样做网站一般的电脑培训班要多少钱
  • 织梦 网站栏目管理 很慢体彩足球竞彩比赛结果韩国比分
  • 深圳戈麦斯网站开发semir是什么意思
  • 在线教育网站平台建设的意义手机端网站排名
  • 表白网站怎样做有创意企业网络营销策划方案
  • 三好街做网站公司网推一手单渠道
  • 郑州专业做微信网站北京网站优化
  • 太原网站建设 世纪优创新闻发稿
  • 网站空间 控制面板短视频推广
  • 网站设计软件开发搜索引擎有哪些技巧
  • 做卡盟网站教程百度实名认证
  • 微信网站开发登录互动营销的概念
  • 做网站就上凡科建设站长统计官网
  • 潍坊网站建设建站线上推广渠道有哪些方式
  • 做旅游网站的关注与回复自己如何做一个网站
  • DW做注册网站如何优化关键词排名到首页
  • 科技网络网站建设嘉兴seo外包服务商