【网学网提醒】:本文主要为网学会员提供android样式(An-Beer工作室),希望对需要android样式(An-Beer工作室)网友有所帮助,学习一下!
公告:2010中国移动开发者大会圆满结束媒体报道及相关[意见反馈][官方
博客]学习笔记:自定义样式(style)与主题(theme)收藏学习笔记:自定义样式(style)与主题(theme)主题,theme,style,样式Android提供了许多可视的组件。通过自定义样式和主题,可以避免用这些组件开发的应用看上去千篇一律。样式和主题都是通过预定义一系列属性值来形成统一的显示风格。区别是,样式只能应用于某种类型的View;而主题刚好相反,它不能应用于特定的View,而只能作用于一个或多个Activity,或是整个应用。以下结合具体例子说明如何定义样式和主题:1.定义样式和主题在工程中res/values/下添加styles.xml
loadfromstyle130sp#FFFF0000loadfromstyle2"loadfromstyle3"bold|italicmonospace>@drawable/mybackground20sp
#FF0000FF"loadfromstyle3"bold|italicmonospace>@drawable/gallery_selected_pressed@style/my_style_3复制代码主题和样式的定义方法类似,都是在
14sp#FF7F7C0.00.0上面样式的定义,从字面意思就可以了解其功能了,下面看看如何应用它吧:现在这个EditText组件的所表现出来的风格就为我们在上边的XML文件中所定义的那样,如下:
看了新的界面是不是感觉漂亮多了,这也就是Styles的魅力吧。需要补充说明的是:单击超链接,还可以打开网页如下:
这是如何实现的了?TextView.setTextView不支持HTMLTAG的输出,所以即便写成这样:mTextView01.setText(”mo-android|享受Android带给我们的新体验”);实际输出时,也就是纯文本而已,并不会作HTMLTAG的转换。但若撇开HTMLTAG之外(如“<”开头的标记),在TextView里加上了android:autoLink=”all”,那么正文中若有网址(),是可以被显示的。总结说明Style的使用相当简单,却很好的改善了界面的效果,不信你就按照上面介绍的步骤,自己去试试看吧!摘自:moandroid/?p=909
本文来自CSDN博客,转载请标明blog.csdn.net/woshishushangdezhu/archive/2009/09/27/4602597.aspx
出
处
:
公告:2010中国移动开发者大会圆满结束媒体报道及相关[意见反馈][官方博客]AndroidStyles&;Themes(下)——Theme收藏AndroidStyles&;Themes(下)——Theme时间:26-09-2009|作者:海市蜃楼|分类:Android开发0上一篇幅AndroidStyles&;Themes(一)——Style介绍了Style神奇的魅力,下面继续体验Theme的效果。就像Style一样,Theme依然在
以上资源的定义,相信大家一看就明白,在这里需要强调的是:有些资源定义中使用了@符号和?符号来引用资源。,对这2个符号的作用解释如下:@表明我们应用的资源是前边定义过的(或者在前一个项目中或者在Android框架中)。?表明我们引用的资源的值在当前的主题当中定义过。这些技巧只能用在XML资源当中
在程序中使用Theme的方法protectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setTheme(R.style.NewTheme);setContentView(R.layout.main);}这里需要注意的是,对于theme资源的引用,资源ID不是文件名(theme.xml),而是资源名(NewTheme)。运行后的界面显示如下:
在AndroidManifest.xml中应用Theme为了在当前所有的Activity当中使用Theme,可以打开AndroidManifest.xml文件,编辑标签,让其包含android:theme属性,值是一个主题的名字,例如:。如果只是想让程序当中的某个Activity拥有这个Theme,那么可以修改标签。Android中提供了几种内置的资源,有好几种Theme你可以切换而不用自己写。比如可以用对话框Theme来让你的Activity看起来像一个对话框。在manifest中定义,例如:如果喜欢一个Theme,但是想做一些轻微的改变,只需要将这个Theme添加为parent。AndroidSDK为我们提供了很多现成的Theme,部分列举如下:比如:我们修改Theme.DialogTheme,继承Theme.Dialog来生成一个新的Theme。继承了Theme.Dialog后,我们可以按照我们的要求来调整Theme。我们可以修改在Theme.Dialog中定义的每个item元素的值,然后我们在AndroidManifest文件中使用NewDialogTheme而不是Theme.Dialog。总结说明以上的例子比较简单,在使用中也发现不少问题,例如AndroidSDK中定义的一个theme.xml如下:true@drawable/screen_frame@drawable/screen_background_white#FF000000#FFFFFFFF?panelForegroundColor14?panelTextColor?panelTextSize
这个例子看上去,就发现几个不太符合规范的地方:itemname属性有
些没有前缀Android,这似乎不符合AndroidSDK中定义的规范,规范详解请阅读AndroidManifest.xml文件结构说明;14,值缺少单位,应该是14sp;将这个theme引用到程序中,发现如下错误:Error:noresourcefoundthatmatchesthegivenname:panelForegroundColor,这个错误让人莫名其妙。AndroidSDK中提供的例子程序,以前也发现了一些小问题,比如说:XML文件中少了符号“。由于对Theme文档的定义、到底有哪些属性,Google没有提供文档说明,这个错误不知道如何修改。在网上google了下,很多人都发现了这个问题,目前还没有人给出具体的解决办法,我们会继续深入的研究Theme,有同样问题的可以在后续篇幅中关注这个问题的解决方法。相关文章
本文来自CSDN博客,转载请标明blog.csdn.net/woshishushangdezhu/archive/2009/09/27/4602656.aspx
出
处
: