现在的位置: 首页 > 综合 > 正文

Android中的自定义主题和样式 Android中的自定义主题和样式Android中的主题Theme

2017年12月12日 ⁄ 综合 ⁄ 共 3087字 ⁄ 字号 评论关闭

Android中的自定义主题和样式

分类: Android 21人阅读 评论(0) 收藏 举报

效果如下图:

通过xml文件来设置主题和样式:

style文件自定义样式和主题的代码:

[html] view
plain
copy

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <resources>  
  3.     //设置父主题,取自TextAppearance  
  4.     <style name="tmacskyTheme" parent="@android:style/TextAppearance">  
  5.         <item name="android:layout_width">fill_parent</item>  
  6.         <item name="android:layout_height">wrap_content</item>  
  7.         <item name="android:layout_weight">1</item>  
  8.     </style>      
  9.     //设置子主题  
  10.     <style name="tmacskyTheme.textRed">  
  11.         <item name="android:background">@color/red</item>  
  12.     </style>  
  13.     <style name="tmacskyTheme.textBlue">  
  14.         <item name="android:background">@color/blue</item>  
  15.     </style>  
  16.     <style name="tmacskyTheme.textGreen">  
  17.         <item name="android:background">@color/green</item>  
  18.     </style>  
  19.     //设置颜色  
  20.     <color name="red">#FF0000</color>  
  21.     <color name="green">#00FF00</color>  
  22.     <color name="blue">#0000FF</color>  
  23. </resources>  

xml文件:

[html] view
plain
copy

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:layout_width="match_parent"  
  4.     android:layout_height="match_parent"  
  5.     android:orientation="vertical" >  
  6.     <TextView  
  7.         android:id="@+id/textView1"  
  8.         style="@style/tmacskyTheme.textBlue"  
  9.         android:text="TextView1" />  
  10.     <TextView  
  11.         android:id="@+id/textView2"  
  12.         style="@style/tmacskyTheme.textGreen"  
  13.         android:text="TextView2" />  
  14.     <TextView  
  15.         style="@style/tmacskyTheme.textRed"  
  16.         android:id="@+id/textView3"  
  17.         android:text="TextView3" />  
  18. </LinearLayout>  

 

Android中的主题Theme

分类: Android 75人阅读 评论(0) 收藏 举报
系统自带的Theme:


android以及为我们定义好了一些theme,需要是我们直接可以拿来使用。
常用的Theme通常如下:
 android:theme="@android:style/Theme.Dialog"将一个activity显示为对话框模式
 android:theme="@android:style/Theme.NoTitleBar"不显示应用程序标题栏
 android:theme="@android:style/Theme.NoTitleBar.Fullscreen"不显示应用程序标题栏,并全屏
 android:theme="@android:style/Theme.light"背景为白色
 android:theme="@android:style/Theme.light.NoTitleBar" 白色背景,无标题栏
 android:theme="@android:style/Theme.light.NoTitleBar.Fullscreen" 白色背景,无标题栏,全屏
 android:theme="@android:style/Theme.Black"背景为黑色
 android:theme="@android:style/Theme.Black.NoTitleBar" 黑色背景,无标题栏
 android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen" 黑色背景,无标题栏,全屏
  android:theme="@android:style/Theme.Wallpaper"用系统桌面为应用程序背景
  android:theme="@android:style/Theme.Wallpaper.NoTitleBar" 用系统桌面为应用程序背景
,无标题栏
  android:theme="@android:style/Theme.Wallpaper.NoTitleBar.Fullscreen" 用系统桌面为应用程序背景
,无标题栏,全屏

定义自己的Theme:

Theme的写法和style很相似,也为:
<style name="MyTheme"[parent="PARENT"]>
<item name="[ATTR]">[VALUE]</>
</style>
Theme的属性在Android的文档中并没有介绍,不过我们可以从系统自带的theme中对其进行了解:
一下是我们从android系统本身所带的theme.xml中提取出来的一些常用的属性:
<item name="windowBackground">@android:drawable/screen_background_dark</item>
<item name="windowFrame">@null</item>
<item name="windowNoTitle">false</item>
<item name="windowFullscreen">false</item>
<item name="windowFloating">false</item>
<item name="windowBackground">@android:drawable/screen_background_dark</item>

抱歉!评论已关闭.