Android-Dialog风格Activity开发
2024-09-02 10:28:45
1.设置窗口风格 :
①在Manifest中设置主题属性android:theme="@android:style/Theme.Dialog",或者 Theme.Holo.Dialog.
②在Activity的onCreate方法中设置,必须在setContentView之前调用setTheme(android.R.style.Theme_Holo_Dialog)
使用Theme.Holo.Dialog为Android 4.X风格,效果较佳;而Theme.Dialog风格是2.X风格,较为落伍.
2.设置布局属性:
在调整界面的过程中,会发现Dialog风格的Activity和AlertDialog界面效果相差较大,这主要是因为AlertDialog使用了特性的属性.
例如:
Button风格 : style="?android:attr/buttonBarButtonStyle"
Button外层Layout风格 : style="?android:attr/buttonBarStyle"
水平分割线 : android:background="?android:attr/dividerHorizontal"
内容字体字号 : android:textAppearance="?android:attr/textAppearanceMedium"
以下是样例:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center_horizontal"
android:orientation="vertical" > <TextView
android:id="@+id/live_wallpaper_dialog_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:gravity="center_vertical|center_horizontal"
android:text="This is Content"
android:textAppearance="?android:attr/textAppearanceMedium" /> <View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="?android:attr/dividerHorizontal" /> <LinearLayout
style="?android:attr/buttonBarStyle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:measureWithLargestChild="true" > <Button
android:id="@+id/live_wallpaper_dialog_cancel"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="cancel" /> <Button
android:id="@+id/live_wallpaper_dialog_download"
style="?android:attr/buttonBarButtonStyle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="download" />
</LinearLayout>
</LinearLayout>
3.如何设置点击空白处不退出Activity :
AlertDialog是设置setCanceledOnTouchOutside(false)来实现的.
而Activity是通过设置setFinishOnTouchOutside(false);来达到效果.
最新文章
- Linux下使用NDK编译FFMPEG(libstagefright)
- Kali Linux Web 渗透测试— 第十二课-websploit
- 小鲜肉初学JS做得仿京东淘宝竖排二级导航
- mysql 锁 实验
- 编程规范之 if 语句的简单规则
- ajax提交表单序列化(serialize())数据
- hdu 1695 GCD(欧拉函数+容斥)
- 华丽的网上突出代码组件CodeMirror
- C# 枚举的使用
- ●洛谷 P3616 富金森林公园
- eclim CSearch macro 问题的解决过程备忘录
- 【Scrum】-NO.40.EBook.1.Scrum.1.001-【敏捷软件开发:原则、模式与实践】- Scrum
- _event_worldstate_team
- Bulk RNA-Seq转录组学习
- Turing equation
- pinnet 计算云分区
- 3.RapidIO串行物理层的包传输过程
- C#编程(四十八)----------列表
- 基于Deep Learning的中文分词尝试
- Fig723.asy
热门文章
- ios中将事件同步到系统日历
- webpack配置:打包第三方类库、第三方类库抽离、watch自动打包、集中拷贝静态资源
- Storm如何保证消息不丢失
- java压缩 GZIP进行简单压缩,ZIP进行多文件保存
- No goals have been specified for this build 解决方案
- [Flutter] Creating &; Updating State in a Flutter Application
- 如何设定linux系统时间
- Quora使用到的技术
- 在LoadRunner脚本中实现随机ThinkTime
- homestead虚拟机,通过npm下载依赖包和解决运行gulp报错问题 yarn出错问题