- 浏览: 173914 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
柨灬柨:
:oops: [color=red][list]
[*]
不 ...
Socket通信总结 -
juren007:
你好,我最近遇到一个问题就是NIO下面缓冲区的分包,不知如何解 ...
解决TCP网络传输“粘包”问题 -
s170285:
<script>alert('1');</s ...
使用ViewHolder模式
(转)http://www.cnblogs.com/feisky/archive/2010/01/02/1638038.html
Android xml风格和主题文件的编写,是涉及到整个程序界面美观的因素之一。较好的应用风格和主题,可以实现美观而统一的界面,这就犹如Web开发中的CSS。
Styles和Themes都是资源,存放在res/values文件夹下。
什么是Style,什么是Theme?
- Style:是一个包含一种或者多种格式化属性的集合,我们可以将其用为一个单位用在布局XML单个元素当中。比如,我们可以定义一种风格来定义文本的字号大小和颜色,然后将其用在View元素的一个特定的实例。
- Theme:是一个包含一种或者多种格式化属性的集合,我们可以将其为一个单位用在应用中所有的Activity当中或者应用中的某个Activity当 中。比如,我们可以定义一个Theme,它为window frame和panel 的前景和背景定义了一组颜色,并为菜单定义可文字的大小和颜色属性,可以将这个Theme应用在你程序当中所有的Activity里。
Style和Theme的XML文件结构
对每一个Styles和Themes,给<style>元素增加一个全局唯一的名字,也可以选择增加一个父类属性。在后边我们可以用这个名字来应用风格,而父类属性标识了当前风格是继承于哪个风格。在<style>元素内部,申明一个或者多个<item>,每一个<item>定义了一个名字属性,并且在元素内部定义了这个风格的值。
风格
1.在res/values 目录下新建一个名叫style.xml的文件。
2.对每一个风格和主题,给<style>element增加一个全局唯一的名字,也可以选择增加一个父类属性。在后边我们可以用这个名字来应用风格,而父类属性标识了当前风格是继承于哪个风格。
3.在<style>元素内部,申明一个或者多个<item>,每一个<item>定义了一个名字属性,并且在元素内部定义了这个风格的值。
4.你可以应用在其他XML定义的资源。
下面SDK提供的Style的例子:(SDK提供的程序会有style/Text找不到的错误,目前还不知道怎么解决)
<?xml version=”1.0″ encoding=”utf-8″?>
<resources>
<style name=”SpecialText” parent=”@style/Text”>
<item name=”android:textSize”>18sp</item>
<item name=”android:textColor”>#008</item>
</style>
</resources>
上面的样式可以用在单个view中如:
<EditText id=”@+id/text1″
style=”@style/mytext”
android:layout_width=”fill_parent”
android:layout_height=”wrap_content”
android:text=”Hello, World!” />
现在这个EditText组件的所表现出来的风格就为我们在上边的XML文件中所定义的那样。
编写一个简单的Style:
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="SpecialText" > <item name="android:textSize">18sp</item> <item name="android:textColor">#EC9237</item> </style> <style name="SpecialText2" > <item name="android:textSize">26sp</item> <item name="android:textColor">#FF7F7C</item> <item name="android:fromAlpha">0.0</item> <item name="android:toAlpha">0.0</item> </style> </resources>
应用的编写:
<TextView style="@style/SpecialText2" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/hello" /> <EditText android:text="@+id/EditText01" style="@style/SpecialText" android:id="@+id/EditText01" android:layout_width="wrap_content" android:layout_height="wrap_content"></EditText>
最终实现的界面为:
当然,Android也有很多预定义的主题:
主题
就像Style一样,Theme依然在<style>元素里边申明,也是以同样的方式引用。不同的是通过在Android Manifest中定义的<application>和<activity>元素将主题添加到整个程序或者某个 Activity,但是主题是不能应用在某一个单独的View里。
下边是SDK中主题的一个例子:(SDK提供的程序会有Error:no resource found that matches the given name: panelForegroundColor等错误,目前还不知道怎么解决这些错误)
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="CustomTheme"> <item name="android:windowNoTitle">true</item> <item name="windowFrame">@drawable/screen_frame</item> <item name="windowBackground">@drawable/screen_background_white</item> <item name="panelForegroundColor">#FF000000</item> <item name="panelBackgroundColor">#FFFFFFFF</item> <item name="panelTextColor">?panelForegroundColor</item> <item name="panelTextSize">14</item> <item name="menuItemTextColor">?panelTextColor</item> <item name="menuItemTextSize">?panelTextSize</item> </style> </resources>
注意我们用了@符号和?符号来应用资源。@符号表明了我们应用的资源是前边定义过的(或者在前一个项目中或者在Android 框架中)。问号?表明了我们引用的资源的值在当前的主题当中定义过。通过引用在<item>里边定义的名字可以做到(panelTextColor 用的颜色和panelForegroundColor中定义的一样)。这中技巧只能用在XML资源当中
在程序中使用主题的方法:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTheme(android.R.style.Theme_Light);
setContentView(R.layout.linear_layout_3);
}
在mainfest.xml中应用主题:
为了在成用当中所有的Activity当中使用主题,你可以打开AndroidManifest.xml 文件,编辑<application>标签,让其包含android:theme属性,值是一个主题的名字,如下:
<application android:theme=”@style/CustomTheme”>
如果你只是想让你程序当中的某个Activity拥有这个主题,那么你可以修改<activity>标签。
编写的简单的一个Theme:
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="CustomTheme" parent="android:Theme.Black"> <item name="android:windowNoTitle">true</item> <item name="android:testSize">14sp</item> <item name="android:textColor">#FFFF0000</item> </style> </resources>
Android中提供了几种内置的资源,有好几种主题你可以切换而不用自己写。比如你可以用对话框主题来让你的Activity看起来像一个对话框。在manifest中定义如下: <activity android:theme=”@android:style/Theme.Dialog”> 如果你喜欢一个主题,但是想做一些轻微的改变,你只需要将这个主题添加为父主题。比如我们修改Theme.Dialog主题。我们来继承Theme.Dialog来生成一个新的主题。 <style name=”CustomDialogTheme” parent=”@android:style/Theme.Dialog”> 继承了Theme.Dialog后,我们可以按照我们的要求来调整主题。我们可以修改在Theme.Dialog中定义的每个item元素的值,然后我们在Android Manifest 文件中使用CustomDialogTheme 而不是 Theme.Dialog 。
一下列出了其他预定义的主题:
发表评论
-
[Android][Activity] onCreate, onSaveInstanceState和onRestoreInstanceState的调用探讨
2011-12-08 16:19 2850(转)http://blog.csdn.net/leewind ... -
android XML转义字符
2011-11-24 19:10 1858在XML中写字符串时,可能需要在字符串后面加空格,A_B(中间 ... -
EditText添加失去焦点事件
2011-11-21 20:29 28963有这样的情况,就是文本框(EditText)会随着某个Butt ... -
Android图片缩放方法
2011-11-21 16:45 841方法1:按固定比例进行 ... -
Activity(Intent)回传数据详解 startActivityForResult()
2011-11-20 12:04 9390startActivityForResult()的用法其实很简 ... -
Intent用法示例
2011-11-12 17:20 1759Intent用法实例 1.无参数Activity跳转 In ... -
andriod优秀开源项目
2011-10-19 16:56 1716FBReaderJ FBReaderJ用于Android平台 ... -
Android 应用程序版本
2011-10-19 16:25 782在应用程序的 升级/维护 策略中, 版本是一个关键的组成部分. ... -
[Android UI界面] 连续点击Button,弹出多个Dialog
2011-10-18 19:13 4561首先,你要定义一个全局的Dialog。然后,在点击时间里面判断 ... -
Android webview总结
2011-10-13 14:59 889总结 1.添加权限:AndroidManifest.xml 中 ... -
Android获取IMEI码
2011-10-11 00:07 1559相比大家都知道,每部手机都有一个属于自己的字符串,这个字符串是 ... -
使用Timer定时改变view控件的状态
2011-10-10 22:52 1201//1.声明timer private Timer mTim ... -
使用全局变量
2011-10-07 10:20 1156如想在整个应用中使用,在java中一般是使用静态变量,而在an ... -
android定义数组
2011-09-09 09:42 13116在android中创建数组,直接定义xml文件即可以。 (1 ... -
Android工程各文件夹结构的含义及使用
2011-09-08 11:06 12274对Android这些东西一开始 ... -
Android解析XML的方式
2011-09-08 10:46 3473android解析xml文件的方式 ... -
android框架
2011-09-07 17:48 647读了高焕堂的书,觉得不错。选点自以为重要的知识,放在这里 ... -
android常识
2011-09-07 15:45 7491.mnt/sdcard和sdcard的区别 其实mnt/sd ... -
使用ViewHolder模式
2011-08-31 14:30 10473ViewHolder不是Android的开发API,而是一种设 ... -
Android SimpleAdapter
2011-08-30 12:28 2256对别人的代码改了一下,主要针对SimpleAdapter做一个 ...
相关推荐
本文实例讲述了Android编程应用风格和主题。分享给大家供大家参考,具体如下: 当你设计你的程序的时候,你可以用风格和主题来统一格式化各种屏幕和UI元素。 风格是一个包含一种或者多种格式化属性的集合,你可以将...
Stylist是一个高度可扩展的平台,用于创建和维护应用程序的基本XML XML主题集。 概述Stylist是用Kotlin编写的Gradle插件,可生成一组基本的Android XML主题。 设计师生成的主题是使用模具和特征系统创建的
Source Insight 4主题的配置文件,采用Android Studio Darcula风格
当你设计你的程序的时候,你可以用风格和主题来统一格式化各种屏幕和UI元素。 • 风格是一个包含一种或者多种格式化属性的...你可以用android提供的一些默认的风格和主题资源,你也可以自定义你自己的主题 和风格资源。
Android的主题和风格介绍,Android开发环境搭建,Android内存泄露调试,Android日历完整实现,Android摄像头的应 用,Android实现GPS定位,Android通过JNI调用驱动程序,Android网络开发详解,android写的google map api ...
Android的主题和风格介绍,Android开发环境搭建,Android内存泄露调试,Android日历完整实现,Android摄像头的应 用,Android实现GPS定位,Android通过JNI调用驱动程序,Android网络开发详解,android写的google map api ...
android中可以自定义主题和风格。风格,也就是style,我们可以将一些统一的属性拿出来,比方说,长,宽,字体大小,字体颜色等等。可以在res/values目录下新建一个styles.xml的文件,在这个文件里面有resource根节点...
多主题风格代码demo 本文属代码GG原创,非经本人同意,禁止转载。 需要交流,联系微信:code_gg_boy 更多精彩,时时关注微信公众号code_gg_home ##基本用法 简要说明 Scoops是一个android应用库,主要解决的是多...
1.修改系统默认的Dialog样式(风格、主题)2.自定义Dialog布局文件3.可以自己封装一个类,继承自Dialog或者直接使用Dialog类来实现,为了方便以后重复使用,建议自己封装一个Dialog类 第一步: 我们知道Android...
CheckStyle-IDEA 是一个检查代码风格的插件,比如像命名约定,Javadoc,类设计等方面进行代码规范和风格的检查,你们可以遵从像Google Oracle 的Java 代码指南 ,当然也可以按照自己的规则来设置配置文件,从而有效...
风格与主题Styles and Themes 27 资源和资产Resources and Assets 28 资源引用Resource Reference 43 国际化和本地化Internationalization and Localization 43 意图和意图过滤器Intents and Intent Filters 43 ...
-- app 主题风格 1.tab风格,2.侧边栏风格,3.类QQ侧边栏风格,4.抽屉菜单风格, 99.QQ空间风格--> name="custom_theme">1 <!-- api地址 :您的站点地址 api/mobile/iyz_index.php--> name=...
风格与主题Styles and Themes 27 资源和资产Resources and Assets 28 资源引用Resource Reference 43 国际化和本地化Internationalization and Localization 43 意图和意图过滤器Intents and Intent Filters 43 意图...
9.1 主题与风格 9.1.1 风格style 9.1.2 主题Theme 9.2 View的绘制 9.3 Tween Animation 9.3.1 Alpha动画 9.3.2 Scale动画 9.3.3 Translate动画 9.3.4 Rotate动画 9.4 Frame Animation 9.5 动画组件——ViewAnimator ...
Android相继推出了actionBar, toolBar, 相信有用到的朋友也会遇到一些不如意的时候,比如标题栏居中时,需要自定义xml文件给toolBar等,不了解actionBar,toolBar的可以去找相应的文章了解,这里介绍自定义titleBar...
风格与主题Styles and Themes 27 资源和资产Resources and Assets 28 资源引用Resource Reference 43 国际化和本地化Internationalization and Localization 43 意图和意图过滤器Intents and Intent Filters 43 意图...
样式,主题和主题属性 风格 一个XML资源,其中包含描述小部件的外观和行为的属性。 创造自己的风格 将它们添加到res/values/的样式文件中 在@style/my_own_style类的布局中引用它们 主题 风格的集合 一种样式资源...