Android中的自定义主题和样式

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>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android自定义Switch控件可以通过自定义drawable来实现。以下是一个简单的例子: 1. 创建一个drawable资源文件,例如 switch_bg.xml,用于定义Switch的背景样式: ```xml <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_checked="true" android:drawable="@drawable/switch_on_bg" /> <item android:state_checked="false" android:drawable="@drawable/switch_off_bg" /> </selector> ``` 2. 创建两个drawable资源文件,例如 switch_on_bg.xml 和 switch_off_bg.xml,分别用于定义Switch开和关状态下的样式。 switch_on_bg.xml: ```xml <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#00FF00" /> <corners android:radius="20dp" /> </shape> ``` switch_off_bg.xml: ```xml <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#FF0000" /> <corners android:radius="20dp" /> </shape> ``` 3. 在布局文件使用自定义Switch控件: ```xml <Switch android:id="@+id/customSwitch" android:layout_width="wrap_content" android:layout_height="wrap_content" android:thumb="@drawable/custom_switch_thumb" android:track="@drawable/switch_bg" /> ``` 其android:thumb属性定义了Switch的拇指(即开关按钮)的样式。我们可以创建一个自定义drawable来实现: ```xml <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval"> <solid android:color="#FFFFFF" /> <size android:width="20dp" android:height="20dp" /> </shape> ``` 这样就完成了自定义Switch控件的样式。当Switch状态改变时,背景样式也会随之改变。你可以根据自己的需求来修改样式
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值