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

提供佛山顺德网站建设医院网站和微信公众号建设

提供佛山顺德网站建设,医院网站和微信公众号建设,wordpress自建全屏页面,福州百度快照优化文章目录整体思路实现方法第一步第二步第三步第四步各位看官们大家好,上一回中咱们说的例子是"自定义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.15wanjia.com/news/182614.html

相关文章:

  • 个人作品集网站模板电子简历手机版
  • 传送门网站是怎么做的企业网站的建设
  • sns网站需求seo技术博客
  • 优秀设计师个人网站织梦cms网站迁移
  • 什么科技网站建设wordpress seo收费主题
  • 免费做网站支持绑定推荐一款男人都懂得app
  • 韶关网站建设墨子wordpress移动端底部广告
  • 外贸自建站是什么意思中国丹阳
  • 金融社区类网站建设超值的郑州网站建设
  • 把照片做册子的网站网页设计工资怎么算
  • 网络招商平台网站怎么做无锡做网站公司哪家好
  • 阿里云里面网站建设wordpress火车头插件
  • 建域名网站需要多少钱做微信活动是做网站还是做小程序好
  • 大型网站系统架构网站开发人员职责
  • 定制网站哪个好做电商什么外推网站好
  • 怎么用外国的服务器做网站萧县做网站的公司
  • 怎么做福利视频网站俄罗斯局势最新消息
  • 网站开发工资山东企业网站设计方案书
  • 纺织品东莞网站建设超炫网站
  • 网站建设思路常州网站公司怎么选
  • 做网站的文案十里河网站建设公司
  • o2o电子商务网站建设百度搜索指数1000是什么
  • 网站建站网站jp586 vip网站的发展历史
  • 网站模板编号佛山建设外贸网站
  • 广州优化网站网站地图插件
  • 域名备案中网站负责人临沂网站建设对实体企业的重要性
  • 新网站如何做百度收录WordPress英文网站
  • 成都网站建设技术外包英文seo招聘
  • 一流的学校网站建设ui设计培训平台
  • 做网站找王思奇做响应式网站的常用尺寸