`

Android Style与Theme的应用

阅读更多
使用样式
1.通过HTML标记,可以在字符串资源中直接使用HTML标记来达到修改样式,如
<string name="text"><i>Hello</i> <b>World</b></string>

2.通过代码方式(Spannable对象)修改样式.
获得TextView的Spannable对象的方法是先setText("something", TextView.BufferType.SPANNABLE), 然后使用getText()即可返回Spannable对象.
EditText et = (EditText)findViewById(R.id.et);
et.setText("hello world");
Spannable spn = (Spannable) et.getText();
spn.setSpan(new BackgroundColorSpan(Color.RED), 0, 7, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
spn.setSpan(new StyleSpan(android.graphics.Typeface.BLOD_ITALIC), 0, 7, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);


3.通过XML来创建公用的样式文件
在/res/values/下创建一个XML文件如下:
<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="errorText"> 
        <item name="android:layout_width">match_parent</item> 
        <item name="android:layout_height">wrap_content</item> 
        <item name="android:textColor">#ff0000</item> 
        <item name="android:typeface">monospace</item> 
    </style> 
</resources>

需要使用的时候就直接使用errorText这个资源id就行了
样式树,当我想基于上面的errorText样式来创建一个子样式时可以如下:ger继承了errorText的样式,并新增了textStyle属性.
不过,上述方式不适用与继承Android提供的样式,如果要继承Android提供的样式,需要使用parent属性,如下所示:
<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="CustomTextAppearence" parent="@android:style/TextAppearance"> 
        <item ......./> 
    </style> 
</resources>



Theme
Theme实际上就是Style的广泛应用.
如果要制定Theme需要在AndroidManifest.xml中设置,如下:
<activity android:theme="@style/MyTheme"/>
<application android:theme="@style/MyTheme"/>
<application android:theme="@android:style/Theme.NoTitleBar"/>

分享到:
评论

相关推荐

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

    android:theme=”@android:style/Theme.Dialog” : Activity显示为对话框模式 android:theme=”@android:style/Theme.NoTitleBar” : 不显示应用程序标题栏 android:theme=”@android:style/Theme.NoTitleBar....

    Android中应用界面主题Theme使用方法和页面定时跳转应用

    主题Theme就是用来设置界面UI风格,可以设置整个应用或者某个活动Activity的界面风格。...style/Theme.NoTitleBar” 不显示应用程序标题栏 android:theme=”@android:style/Theme.NoTitleBar.Fullscreen”

    Android Style.xml的应用详解及代码实现

    主要介绍了Android Style.xml的应用详解及代码实现的相关资料,需要的朋友可以参考下

    android-styletheme-sample:Android 中样式和主题的示例应用程序

    android-styletheme-sample Android 中样式和主题的示例应用程序

    Android中使用Theme来解决启动app时出现的空白屏问题

    style name=Splash_Theme parent=@android:style/Theme.NoTitleBar&gt; &lt;/style&gt; 原因是我们给改Activity/Application设置的主题引起的,因为该主题相对应的windowBackground等背景被设置成了白色或者黑色,且...

    Android中Theme主题和Style样式使用介绍总结

    在AS中res/values/style.xml中定义,例如新建项目AS自动创建的Theme,是系统提供; @color/colorPrimary @color/colorPrimaryDark @color/colorAccent Android系统提供的主题在:..\platforms\android-29\

    Android代码-一个对安卓应用支持多种主题的库

    Android-Mulit-Theme可以让轻松地对Android应用添加多主题支持,并且支持在不销毁重建Activity的情况下动态切换主题。利用Android自身支持的不同Style中可复写相同的attribute的值的特性,通过代码动态设置不同的...

    Android移动开发实验6.doc

    &lt;com.google.android.material.appbar.AppBarLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/AppTheme.AppBarOverlay"&gt; &lt;androidx.appcompat.widget....

    Google Android SDK开发范例大全 源码

     3.21 Android变脸——主题(Theme)实现  第4章 史上超豪华的手机控件  第5章 交互式通信服务与手机控制  第6章 手机自动服务纪实  第7章 娱乐多媒体  第8章 当Android与Internet接轨  第9章 Google...

    Android 避免APP启动闪黑屏的解决办法(Theme和Style)

    前几天Boss就反应说,机器每次启动程序都会闪一下黑屏,这个客户不接受。没办法,只能想想怎么解决,最后找到了下面的方法。...style name=”Theme.AppStartLoad” parent=”android:Theme”&gt; 

    Google Android SDK开发范例大全(PDF高清完整版1)(4-1)

    5.24 取得电信网络与手机相关信息——TelephonyManager与android.provider.Settings.System的应用 第6章 手机自动服务纪实 6.1 您有一条短信popup提醒——常驻BroadcastReceiver的应用 6.2 手机电池计量还剩多少...

    Google Android SDK开发范例大全(PDF完整版4)(4-4)

    5.24 取得电信网络与手机相关信息——TelephonyManager与android.provider.Settings.System的应用 第6章 手机自动服务纪实 6.1 您有一条短信popup提醒——常驻BroadcastReceiver的应用 6.2 手机电池计量还剩多少...

    Android环境搭建及工程讲解

    安装 Android SDK 和Eclipse 插件 Android应用 android样式和主题(style&theme) Activity生命周期

    Google Android SDK开发范例大全(PDF高清完整版3)(4-3)

    5.24 取得电信网络与手机相关信息——TelephonyManager与android.provider.Settings.System的应用 第6章 手机自动服务纪实 6.1 您有一条短信popup提醒——常驻BroadcastReceiver的应用 6.2 手机电池计量还剩多少...

    Android代码-MultipleTheme

    真正的支持无缝换肤/夜间模式的Android框架,配合theme和换肤控件框架可以做到无缝切换换肤(无需重启应用和当前页面)。 该应用框架可以实现无缝换肤/切换夜间模式的需求,需要在换肤/切换夜间模式的界面只需要...

    疯狂Android讲义源码

     第1章 Android应用与开发环境 1  1.1 Android的发展和历史 2  1.1.1 Android的发展和简介 2  1.1.2 Android平台架构及特性 3  1.2 搭建Android开发环境 5  1.2.1 下载和安装Android SDK 5  1.2.2 安装...

    BaiduMap_AndroidSDK Sample_demo

    android:theme="@style/AppTheme"&gt; &lt;!--这里添加正确的key和value --&gt; &lt;meta-data android:name="com.baidu.lbsapi.API_KEY" android:value="7OkUCRXhEG379MBvwHNG4qmbY1QTnI19" /&gt; .................

    Android实现可使用自定义透明Dialog样式的Activity完整实例

    但同时对话框中的内容有更多控制和能控制其生命周期,这时你可以使用带有Dialog样式的Activity来应用你的项目中,想使Activity有对话框那样效果可以在Androidmanifest中添加 Android:style/Theme.Dialog 的主题特性 ...

    Google.Android.SDK开发范例大全

     3.21 Android变脸——主题(Theme)实现  第4章 史上超豪华的手机控件  第5章 交互式通信服务与手机控制  第6章 手机自动服务纪实  第7章 娱乐多媒体  第8章 当Android与Internet接轨  第9章 Google...

Global site tag (gtag.js) - Google Analytics