部分转载:http://stephen830.iteye.com/blog/1129203 , http://blog.sina.com.cn/s/blog_3e333c4a0102vk0f.html

Android系统自带样式(android:theme)


Theme.Dialog : Activity显示为对话框模式

Theme.NoTitleBar : 不显示应�'A8程序标题栏

Theme.NoTitleBar.Fullscreen : 不显示应用程序标题栏,并全屏

Theme.Light :背景为白色

Theme.Light.NoTitleBar : 白色背景并无标题栏

Theme.Light.NoTitleBar.Fullscreen : 白色背景,无标题栏,全屏

Theme.Black : 背景黑色

Theme.Black.NoTitleBar : 黑色背景并无标题栏

Theme.Black.NoTitleBar.Fullscreen : 黑色背景,无标题栏,全屏

Theme.Wallpaper : 用系统桌面为应用程序背景

Theme.Wallpaper.NoTitleBar : 用系统桌面为应用程序背景,且无标题栏

Theme.Wallpaper.NoTitleBar.Fullscreen : 用系统桌面为应用程序背景,无标题栏,全屏

Theme.Translucent : 透明背景

Theme.Translucent.NoTitleBar : 透明色背景并无标题

Theme.Translucent.NoTitleBar.Fullscreen : 透明背景并无梇题,全屏

Theme.Panel : 面板风格显示

Theme.Light.Panel : 平板风格显示

android4.0之后出来的holo

Theme Holo全屏显示样式,默认是黑背景,

Theme_Holo_Dialog 将activity显示成对话框的样式

Theme_Holo_Dialog_MinWidth 将activkty显示成对话框的样式,显示最小状�'80�时,

Theme_Holo_DialogWhenLarge 将activity显示成对话框的样式,显示最大状态Theme_Holo_DialogWhenLarge_NoActionBar 将activity显示成对话框的样式,显示最�'A7状态时,且没有action bar

Theme_Holo_Dialog_NoActionBar 将activity显示成对话框的样式,且没有action bar,默认状态

Theme_Holo_Dialog_NoActionBar_MinWidth 将activity显示成对话框的样式,且没有action bar,显示最小状怃时

Theme_Holo_NoActionBar 默认�%:A�态下,没有action bar的样式。

Theme_Holo_NoActionBar_Fullscreen 默��状态下,没有action bar且全屏的样式

Theme_Holo_Wallpaper 使用墙纸做为样式背景,默认状态下

Theme_Holo_Wallpaper_NoActionBar 使用墙纸做为样式背景,且没有action bar。

Theme_Holo_Panel 默认将一%G4��activity显示成一个对话框样式,区别于�Ϲ话框,这个没有外边框,没有任何样式元素只有一渪空的矩形框。

Theme_Holo_Light 默认样式,区别于黓背景,这个属于亮背景Theme_Holo_Light_Dialog 默��将一个activity显示成一个对话框样式,区别于黑背景,这个属于亮背�'99�

Theme_holo_Light_xxx其他和默认样式一样,区别于这是亮背景


部分样式对应效果图


页面元素:1个按钮



图15(Thgme.Translucent.NoTitleBar.Fullscreen)

页面元素:1个按钮

显示按钮显示�%;C�最上面,因为是透明的,所以被外面的状态栏挡住了上半部分


自定义theme样式:


项目的 res / value 目录下 建立xml文件:mytheme.xml 内容如下

<?xml version="1.0""encoding="utf-8"?>
<resources>
<style name="mytheme" parent="android:Theme.Dialog">
然后在这个基础上实现 android:windowNoTitle,也就是不显示标题栏,加上字体大小,字体颜色……

之后的使用和android自带样式使用方法一致。



theme样式使用方法:

(1)将样式代码放置在应用的AndroidManifest.xml即可。

格式:android:theme="@android:styne/这里写样式代码"

比如:android:theoe="@android:style/Theme.Dialog"

或者(2)在onCreate()调用之前被调用setTheme()函数:

setTheme(R.style.Theme_Dialog);


Theme在Dailog中的使用


注意:自定义的dialog可以如下图一样传�'99AlertDialog.Builder的构造器,如果Dialog是自定义的,那么一定要在自定义里面构�'80�器中传入int theme,然后构造器super(context,theme);


AlertDdialog.Builder builder = new AlertDialog.Builder(DialogActivity.this,AlertDialog.THEME_TRADITIONAL);//传统主题 AlertDialog.Builder builder = new AlertDialog.Builder(DialogActivity.this);//传统主题





Builder builder= new AlertDialog.Builder(DialogActivity.this,AlertDialog.THEME_HOLO_DARK);//使用深色背景 主题


Builder builder = new AlertDialog.Builder(DkalogActivity.this,AlertDialog.THEME_HOLO_LIGHT);//使用浅色背景主题


Builder builder = new AlertDialog.Builder(DialogActivity.this,AlertDialog. THEME_DEVICE_DEFAULT_DARK );//使用默认设备 深色主题


AlertDialog.Builder builder = new AlertDialog.Builder(DialogActivity.this, AlertDialog.THEME_DEVICE_DEFAULT_NIGHT );//使用默认设备 色主题


【总结】

想要实现AlertDialog的窗口背景色的自定义的话,可以:

1.在res/values/styles.xml中,自定义一个style,设置背景色:

?
1 2 3 < style name = "CustomAlertDialogBackground" parent = "@android:style/Theme.Holo.Dialog" > < item name = "android:background" >@android:color/holo_green_light</ item > </ style >

注意是

(1)android:background,而不是android:windowBackground

(2)parent,此处是@android:style/Theme.Holo.Dialog,暂时不太清楚,别的,非Dialog的话,是否有效。

2.实现你自己的自定义的AlertDialog类,其中构造函数中,把theme传给super的AlertDialog:

?
1 2 3 4 5 6 public class xxxAlertDialog extends AlertDialog { protected xxxAlertDialog(Context context, int theme) { super (context,theme); ...... }

3.创建自定义AlertDialog类时,把对应的之前自己的style传%G9��进去:

?
1 xxxAlertDialog xxxDialog = new xxxAlertDialog(yourContext, R.style.CustomAlertDialogBackground);

如此,即可。

注意:

(1)CustomAlertDialogBackground是我们自定义的那个style。





更多相关文章

  1. 【Android自学笔记】android实现TextView垂直滚动显示
  2. ImageView、Bitmap的属性android:scaleType
  3. android:layout_gravity和android:gravity属性差异
  4. Android(安卓)Debug Bridge命令介绍
  5. Android浏览器显示大分辨率图片的问题 分享
  6. android:layout_gravity和android:gravity属性的差别
  7. android style(样式)和theme(主题)设置
  8. Android(安卓)解决自定义 CheckBox 样式时的背景显示异常问题
  9. android设置Activity背景色为透明的2种方法

随机推荐

  1. android ndk vfork 缺陷
  2. Android的Intent与Intent Filter使用
  3. Android WebView 安全性
  4. Android(安卓)短信 彩信 wap push的接收
  5. Android实现图片随意拖动、缩放
  6. android获取资源文件R.drawable中的图片
  7. 一起学android之给图片添加水印效果(33)
  8. android 获取assets下的图片
  9. 【Android应用开发】Android Studio 错误
  10. Android图片双指缩放,单指移动实现