没有合适的资源?快使用搜索试试~ 我知道了~
首页Android中自定义对话框(Dialog)的实例代码
1.修改系统默认的Dialog样式(风格、主题)2.自定义Dialog布局文件3.可以自己封装一个类,继承自Dialog或者直接使用Dialog类来实现,为了方便以后重复使用,建议自己封装一个Dialog类 第一步: 我们知道Android定义个控件或View的样式都是通过定义其style来实现的,查看Android框架中的主题文件,在源码中的路径:/frameworks/base/core/res/res/values/themes.xml,我们可以看到,Android为Dialog定义了一个样式, 代码如下:<style name=”Theme.Dialog”><item name=”a
资源详情
资源推荐
Android中自定义对话框中自定义对话框(Dialog)的实例代码的实例代码
1.修改系统默认的Dialog样式(风格、主题)
2.自定义Dialog布局文件
3.可以自己封装一个类,继承自Dialog或者直接使用Dialog类来实现,为了方便以后重复使用,建议自己封装一个Dialog类
第一步:
我们知道Android定义个控件或View的样式都是通过定义其style来实现的,查看Android框架中的主题文件,在源码中的
路径:/frameworks/base/core/res/res/values/themes.xml,我们可以看到,Android为Dialog定义了一个样式,
代码如下:
<style name=”Theme.Dialog”>
<item name=”android:windowFrame”>@null</item>
<item name=”android:windowTitleStyle”>@android:style/DialogWindowTitle</item>
<item name=”android:windowBackground”>@android:drawable/panel_background</item>
<item name=”android:windowIsFloating”>true</item>
<item name=”android:windowContentOverlay”>@null</item>
<item name=”android:windowAnimationStyle”>@android:style/Animation.Dialog</item>
<item name=”android:windowSoftInputMode”>stateUnspecified|adjustPan</item>
</style>
我们可以看到,在Themes.xml中定义的Dialog的样式,其中,定义了window的标题样式,window的背景图,是否悬浮等等。
那么,我们要创建具有自定义样式的Dialog就可以创建一个styles.xml,在其中定义我们自己的Dialog样式,让其继承自
Theme.Dialog样式,并修改其中的某些属性即可。
定义我们自己的Dialog样式:
a.创建一个styles.xml文件,放在res/values 文件夹下(当然了,这就不用说了。。。啰嗦一下)
b.在styles.xml中定义Dialog样式,代码如下:
代码如下:
<style name=”Theme_dialog” parent=”@android:style/Theme.Dialog”>
<item name=”android:windowBackground”>@android:color/transparent</item>
<item name=”android:windowNoTitle”>true</item>
</style>
上面代码中,定义了一个样式Theme_dialog,继承自@android:style/Theme.Dialog,然后定义了Dialog所在Window的背
景图,此处使用的是透明颜色#00000000,然后定义了Dialog所在的Window隐藏标题(系统定义Dialog样式是带有标题的,
在此设置此属性为true可隐藏标题),自定义Dialog样式到这就完成了。
第二步:
定义Dialog的布局:
创建一个布局文件layout_dialog.xml,代码如下:
代码如下:
<?xml version=”1.0″ encoding=”utf-8″?>
<LinearLayout
xmlns:android=”http://schemas.android.com/apk/res/android”
android:orientation=”vertical”
android:layout_width=”fill_parent”
android:layout_height=”fill_parent”
android:background=”@drawable/pp_bg_dialog”
android:gravity=”center”>
<ProgressBar android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
style=”@style/progressbar_normal”/>
<TextView android:layout_width=”wrap_content” android:layout_height=”wrap_content”
style=”@style/text_white_small” android:layout_marginTop=”5dp”
android:text=”正在删除…” android:id=”@+id/message”/>
</LinearLayout>
这里使用了一个垂直方向的线性布局,并且设置所有子元素居中,子元素为已个进度条ProgressBar和一个TextView。
此处,ProgressBar采用自定义样式,使用系统默认的ProgressBar可达到同样的效果(大同小异)。LinearLayout的背景
android:background=”@drawable/pp_bg_dialog”(即上面效果图中居中显示的黑色透明背景框)是一个自定义的图片资源
Shape:
代码如下:
<?xml version=”1.0″ encoding=”utf-8″?>
<shape
xmlns:android=”http://schemas.android.com/apk/res/android”
android:shape=”rectangle”>
<corners android:radius=”10dp”/>
<solid android:color=”#55000000″/>
</shape>
weixin_38547151
- 粉丝: 2
- 资源: 899
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功