源码之下 无秘密Android开发之源码分析,你不知道的秘密

Android开发之源码分析,你不知道的秘密,Adroid项目结构无非是re和rc这两个文件夹,rc主要Java代码,re放置资源文件,Eclie默认生成的资源文件包括:drawale、layout、value、meu,关于还可以存放哪个类型的资源文件呢?打开SDK路径下的latform文件夹,随便打开一个平台,比如:adroid-23,...
Android项目结构无非是res和src这两个文件夹,src主要Java代码,res放置资源文件,Eclipse默认生成的资源文件包括:drawable、layout、values、menu,关于还可以存放哪个类型的资源文件呢?打开SDK路径下的platforms文件夹,随便打开一个平台,比如:android-23,如下路径——“E:\\adt-bundle-windows-x86_64-20140702\\sdk\\platforms\\android-23\\data\\res”,找到res文件夹,这里展示所有该平台开发需要的资源。步骤阅读工具/原料Android开发工具:AndroidStudio或EclipseAndroid测试工具:虚拟设备或测试手机一、分析源码res结构之重写Spinner默认背景1在打开的res文件夹下,看到了其他在Eclipse创建项目时无法自动生成的anim、animator、color文件夹,这些文件夹在实际的项目开发中可以手动添加,存放的内容和系统提供的内容类型,哪天TeachCourse不记得res文件夹下能够创建哪些文件夹时,不妨打开源码res文件夹看看哈。相当于我们可以在自己项目的res中重写系统这里的默认属性。步骤阅读2如果让你如何重写系统的默认属性,你该怎么办呢?比如说,重写Spinner控件的默认样式和下拉选项样式。3上面我们讲解了Android项目结构,了解每个res下属文件夹的作用,那样我们修改起来显得很方便了。上面例子想要修改Spinner样式,重写android:background=\"\"属性可以完成,这里需要注意的是,添加什么样的属性值合适呢?4如果你不清楚怎么添加属性值,添加什么样的属性值合适,可以打开源码下的Spinner控件默认属性android:background=\"\"属性值添加方式(需要说明的系统所有控件样式定义在Style.xml文件,组件样式定义在Themes.xml,控件属性定义在attrs.xml),EditPlus(下载)打开style.xml文件,Ctrl+F找到Spinner控件,如下图:步骤阅读5看到选项:@drawable/btn_dropdown即系统定义的默认Spinner的background属性,属性文件位于drawable/btn_dropdown.xml路径下,依次打开,找到该文件,如下图:步骤阅读6根据Spinner控件状态选择不同背景,我们要做的是:复制该文件到自己项目res/drawable中,修改各状态的背景样式(重写该属性),和美工商量定制一张自己“梦想”的背景:btn_dropdown_normal.png,最后引用定制的背景即可(这里使用blue_bg.9.png代替btn_dropdown_pressed.9.png),运行效果如下图:步骤阅读END二、分析源码res结构之重写Spinner默认字体颜色1在Spinner中未提供android:textColor=\"\"属性,就好像ListView一样,提供适配器指定布局、内容的方式修改字体颜色,Spinner和ListView不同的是:Spinner有下拉选项布局和默认布局两种方式。步骤阅读2关于Spinner或ListView绑定数据的适配器使用,可以参考TeachCourse另外一篇文章《使用BaseAdapter需要注意的两个问题以及解决问题的办法》,可以使用的适配器有:BaseAdapter、ArrayAdapte、SpinnerAdapter3三者适配器之间的区别:ArrayAdapter和SpinnerAdapter绑定数据的方式可以手动定义Spinner下拉列表样式和默认样式:ArrayAdapter,使用setDropDownViewResource(int)方法;SpinnerAdapter,使用回调方法getDropDownView(),如上面代码。BaseAdapter,只可以手动定义默认样式(暂不清楚怎么设置下拉列表),但BaseAdapter使用方法和SpinnerAdapter一样,推荐使用SpinnerAdapter。步骤阅读步骤阅读步骤阅读4修改Spinner控件颜色、样式和调整大小都不是啥事,只需要定义simple_spinner_item.xml布局和simple_spinner_dropdown_item.xml,然后引用自定义的而非系统的样式,即可实现修改Spinner字体颜色效果,如下图:步骤阅读步骤阅读END注意事项Spinner作为一个例子演示如何分析res源码自带样式的方法,其他控件同样适用分析res源码文件夹,熟悉该文件夹下运行创建的子文件夹或文件的方法

本文来自投稿,不代表长河网立场,转载请注明出处: http://www.changhe99.com/a/WZ6PYzNr83.html

(0)

相关推荐