`
zkl_1987
  • 浏览: 245747 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

android 笔记 --- 自定义Android主题风格theme.xml方法

阅读更多
在Android中可以通过自定义主题风格方式来实现个性化以及复用,首先我们创建theme.xml主题文件,保存位置为工程的res/values/theme.xml ,这里我们可以可以为主题起一个名称,比如CWJ,这里去除了xml的文件头这行,我们在工程中只需在androidmanifest.xml文件的Activity节点中加入android:theme=”@style/Theme.CWJ” 属性,则这个Activity就使用了这种主题风格,整个xml的关键代码如下:

<resources>
    <style name="Theme.CWJ" parent="android:Theme">
        <item name="android:windowBackground">@drawable/android123</item>
    </style>
</resources>


其中上面的代码中,我们定义设置全局android:windowBackground即背景值为/res/drawable中的android123图片为背景,更多的属性定义可以参考view的layout xml属性设置,比如我们设置所有字体颜色、大体大小和样式,可以在style节点中加入

<item name="android:textColor">#fff</item> 
  <item name="android:textSize">14sp</item> 
  <item name="android:textStyle">bold</item>


当然我们可以将上面的android123的图片改进下,使用一个xml文件替代,比如使用bitmap对象,则/res/drawable/android123.xml的完整代码变为

<?xml version="1.0" encoding="utf-8"?>
 
 <bitmap xmlns:android="http://schemas.android.com/apk/res/android" 
     android:src="@drawable/cwj_image" 
     android:tileMode="repeat" />


这里我们使用了一个bitmap对象来解析cwj_image图片,当然这里可以识别各种类型的图片,其中android:tileMode是bitmap的内部属性,其中tileMode设置为repeat代表重复,这样可以节省bitmap资源,比如我们的背景是一层楼,那么全屏可以显示同样的为5层效果,而图片仅是一层大小,对于资源利用相对更高。

当然bitmap的属性tileMode的值为repeat外还有其他的值比如clamp、mirror,这些值并没有在SDK中并没有找到定义,通过上次Android开发网的 Android自定义View以及layout属性全攻略 一文,我们可以联想到bitmap属于android.graphics.Bitmap 包,由于是android框架,所以下载git的base包,找到该类,类的实例化时android123已经在 Android自定义View以及layout属性全攻略 说的很清楚,所以我们定位到res\values中找到attr.xml有关bitmap的定义即可,有关bitmap的更多属性如 antialias、filter和dither都可以找到使用。

分享到:
评论
1 楼 wenjundiandian 2011-12-27  
大侠  这个全局变量的设置对TextView,Button里面的字体没有作用啊········

相关推荐

    Android学习笔记之AndroidManifest.xml文件解析

    - `android:theme`:应用主题。 - **子标签**: - `&lt;activity&gt;`:定义 Activity 组件。 - `&lt;service&gt;`:定义 Service 组件。 - `&lt;receiver&gt;`:定义 BroadcastReceiver 组件。 - `&lt;provider&gt;`:定义 ...

    学习笔记:自定义样式(style)与主题(theme)

    在Android开发中,自定义样式(style)和主题(theme)是两个关键的概念,它们极大地提升了应用的界面设计灵活性和用户体验。自定义样式允许开发者为UI组件设定特定的外观和行为,而主题则可以全局统一应用的视觉风格。...

    自定义简约风格的Dialog

    本教程将深入讲解如何自定义一个简约风格的Dialog,模仿有道云笔记的应用效果。 首先,我们需要创建一个布局文件作为Dialog的内容视图。这个布局通常包含一个标题(可选)、主要的显示区域以及可能的操作按钮。在`...

    Android PreferenceActivity 学习笔记

    2. 在AndroidManifest.xml中声明Activity:需要在manifest文件中添加对应的Activity声明,并指定它的主题为`android:theme="@android:style/Theme.Holo.Preference"`或其兼容版本,以便获得适当的样式。 ```xml ...

    Android-一款简单实用具有MaterialDesign风格的记事本软件

    例如,设置`AppTheme`为基于Material Design的父主题,如`Theme.MaterialComponents.Light`,并自定义颜色方案,如主题色、次级色等。 5. **数据存储** 记事本应用通常需要持久化数据,这可以通过SQLite数据库、...

    Android开发笔记——UI基础编程

    开发者可以通过定义主题(Theme)和样式(Style)来统一应用的视觉风格,包括字体、颜色、边距等。这可以在全局的res/values/styles.xml文件中定义,并应用于整个应用或特定Activity。 六、自定义视图 当系统默认的...

    新版Android开发教程+笔记七--基础UI编程

    Android允许通过主题(Theme)和样式(Style)来统一应用的外观。主题可以全局改变应用的视觉效果,比如字体、颜色方案;样式则可以单独应用于某个UI元素,提供一致的设计。 七、自定义视图 如果预定义的组件不能...

    android 学习心得

    - **`android:theme`**:指定应用于Activity的主题。 - **`android:windowSoftInputMode`**:指定软键盘出现时窗口的行为。 以上属性的设置对于理解Activity的工作原理及其与其他组件的交互至关重要。 ### 二、...

    Android学习笔记五:基本视图组件:Button

    - 自定义样式:可以通过修改主题(Theme)或创建新的样式资源文件来改变按钮默认样式。 - 自定义背景:使用Shape XML文件定义不同形状的背景,如矩形、圆形等。 - 使用selector:定义一个state_list drawable资源...

    android学习笔记

    在XML布局文件中,我们可以通过`android:theme`属性为Activity指定主题。例如: ```xml android:name=".YourActivity" android:theme="@android:style/Theme.Dialog"&gt; ``` 这段代码将使`YourActivity`显示为一...

    Android开发笔记之:Splash的实现详解

    android:theme="@android:style/Theme.NoTitleBar.Fullscreen" android:noHistory="true" android:configChanges="orientation|keyboardHidden" android:label="@string/app_name"&gt; &lt;intent-filter&gt; &lt;action ...

    Android 学习笔记

    - **预定义主题**:Android 提供了一系列预定义的主题,可以在 `AndroidManifest.xml` 文件中通过 `&lt;activity android:theme="@style/Theme.Dialog"/&gt;` 设置。 - **自定义主题**:可以通过在 `res/values` 目录下的 ...

    Android Training学习笔记——App Bar 参考源码

    这篇文章是基于“Android Training”系列的学习笔记,主要探讨了App Bar的设计原理和参考源码分析。下面将详细阐述App Bar的相关知识点。 首先,App Bar是Android设计指南中推荐的用户界面元素,它位于屏幕顶部,...

    Android 入门学习笔记实用源码

    样式(Style)和主题(Theme)是Android中用于统一应用UI外观的方式。它们定义在res/values/styles.xml文件中,可以应用于Activity、View或整个应用。理解如何创建和应用样式,以及使用父样式和属性继承,能提高...

    第一行代码笔记

    - 在Activity的XML布局文件中设置`android:theme="@android:style/Theme.Dialog"`可以实现对话框样式的自定义。 8. **TextView文本省略处理**: - `android:ellipsize`属性可以设置当文本超过容器宽度时如何处理,...

    安卓笔记文档

    样式用于定义单个组件的外观属性,而主题则用于定义整个应用的一致性风格。 **示例代码:** ```xml &lt;!-- 定义样式 --&gt; &lt;item name="android:textSize"&gt;18sp &lt;item name="android:textColor"&gt;#FF0000 &lt;!-- 在...

    Android双击屏幕动态实现全屏(隐藏标题栏状态栏)

    - 隐藏标题栏:对于使用ActionBar的应用,可以通过设置`android:theme="@android:style/Theme.NoTitleBar"`在AndroidManifest.xml中去除。如果是自定义Toolbar,可以在代码中调用`toolbar.setVisibility(View.GONE)...

Global site tag (gtag.js) - Google Analytics