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);来达到效果.

最新文章

  1. Linux下使用NDK编译FFMPEG(libstagefright)
  2. Kali Linux Web 渗透测试— 第十二课-websploit
  3. 小鲜肉初学JS做得仿京东淘宝竖排二级导航
  4. mysql 锁 实验
  5. 编程规范之 if 语句的简单规则
  6. ajax提交表单序列化(serialize())数据
  7. hdu 1695 GCD(欧拉函数+容斥)
  8. 华丽的网上突出代码组件CodeMirror
  9. C# 枚举的使用
  10. ●洛谷 P3616 富金森林公园
  11. eclim CSearch macro 问题的解决过程备忘录
  12. 【Scrum】-NO.40.EBook.1.Scrum.1.001-【敏捷软件开发:原则、模式与实践】- Scrum
  13. _event_worldstate_team
  14. Bulk RNA-Seq转录组学习
  15. Turing equation
  16. pinnet 计算云分区
  17. 3.RapidIO串行物理层的包传输过程
  18. C#编程(四十八)----------列表
  19. 基于Deep Learning的中文分词尝试
  20. Fig723.asy

热门文章

  1. ios中将事件同步到系统日历
  2. webpack配置:打包第三方类库、第三方类库抽离、watch自动打包、集中拷贝静态资源
  3. Storm如何保证消息不丢失
  4. java压缩 GZIP进行简单压缩,ZIP进行多文件保存
  5. No goals have been specified for this build 解决方案
  6. [Flutter] Creating &amp; Updating State in a Flutter Application
  7. 如何设定linux系统时间
  8. Quora使用到的技术
  9. 在LoadRunner脚本中实现随机ThinkTime
  10. homestead虚拟机,通过npm下载依赖包和解决运行gulp报错问题 yarn出错问题