java 自定义dialog_Android-自定义Dialog和其样式以及自定义控件思路详解

我们自己清楚,android的原生控件实在是不堪入目,在很多时候无法满足项目需求,所以在项目进行的过程中,我们很多时候就需要自定义控件,继承重写从而实现我们的需求。并且自定义控件将体现代码的复用,分层的架构学管理,妙用无穷。本文将详细介绍自定义Dialog的多种思路以及给出如何进行自定义控件的指南。

文章结构(两种思路实现):1.复用率不高的,而且在dialog进行的逻辑处理较多的情况下,建议使用将dialog封装成一个类,继承基本的Dialog类实现。(在这里的后面会详细说明自定义样式的问题喔!)2.复用率高,而且每个dialog都要求有固定的布局格式的话,建议使用一个BaseDialog类作为你实际实现dialog的父类

先上图:

80999971b7ed

这里写图片描述 就是这种仿谷歌风格的自定义dialog啦!!

一、第一种思路实现的详解:

首先当然是你想要的dialog布局,这里你自己想怎么折腾就怎么折腾随你。由于这里使用了radiobutton的多向运用,可在此不详细解析,欲想看明radiobutton的多向运用请看我的另一篇博客:Android之RadioButton和RadioGroup结合Dialog的多种运用详解

android:layout_width="360dp"

android:layout_height="match_parent"

android:orientation="vertical">

android:layout_width="match_parent"

android:layout_height="30dp"

android:layout_gravity="center"

android:layout_marginTop="20dp"

android:orientation="horizontal">

android:id="@+id/icon_title"

android:layout_width="30dp"

android:layout_height="30dp"

android:layout_marginLeft="18dp"

android:gravity="center"

android:src="@drawable/setting" />

android:id="@+id/title"

android:layout_width="match_parent"

android:layout_height="30dp"

android:layout_marginLeft="20dp"

android:gravity="center_vertical"

android:text="广播周期设定"

android:textSize="17sp" />

android:id="@+id/groupBroadcast"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginBottom="18dp"

android:layout_marginTop="10dp"

android:orientation="vertical">

android:id="@+id/rbtn_BroadcastClose"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_weight="1"

android:button="@null"

android:checked="true"

android:drawableLeft="@drawable/settingbroadst_checked_style"

android:drawablePadding="20dp"

android:paddingLeft="18dp"

android:text="关闭"

android:textColor=

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值