先把要写的写下来,有时间再详写
1、在你自定义风格时经常要定义一些全局视图,比如说按钮、布局、菜单等,所以经常要用到Theme,Style,
Selector,Shape,layer_list,甚至还有animation_list,menu等布局文件。
------------------------------------------------------------------------------------------------------------------------------------------------
(2015年11月18日20:56:06)
今天来总结一下自定义风格,今天看了下书,说大了,其实就是android应用资源的使用。
android的源代码分为三大类:java源代码、界面布局文件、资源文件,其中资源文件中包括的Drawable资源不仅仅有png等图片资源,还可以使用多种XML文件作为资源,下面总结下Drawable资源。
1、图片资源,不用说了,png、gif、jpg等
2、statelistDrawable资源,以<selector>开头,用于定义不同的状态,常用作按钮、单选框等有不同状态的控件的背景
3、Drawablelayer资源,以<layer_list>开头,定义包含多层图片的资源,常用来显示多层图片叠加在一起,如seekBar,progressbar等,但是要注意作为上述控件的drawable时id要准确。
4、Shape资源,以<shape>开头,用于绘制普通的图形,如圆形,椭圆,矩形、圆角矩形等,当然也可以绘制直线。
5、ClipDrawable对象,以<clip>开头,用于裁剪图片,但是只能垂直和水平裁剪,常用来作为需要展开的图片,如窗帘动画、进度条等。
----------------------------------------------------------------------------------------------------------------------------------------------
(2015年12月1日14:51:42)
对于layer_list出现各种问题,如图片位置不对等。对于图片的位置以第二种为标准
<layer-list>
<item android:drawable="@drawable/toggle_bg_light"
android:gravity="center"/>
<item android:drawable="@drawable/toggle_slider"
android:gravity="right"
/>
</layer-list>
<layer-list>
<item>
<bitmap android:src="@drawable/toggle_bg_dark"
android:gravity="center">
</bitmap>
</item>
<item>
<bitmap android:src="@drawable/toggle_slider"
android:gravity="left">
</bitmap>
</item>
</layer-list>
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
(2015年12月3日19:25:07)
虽然item中可以改变drawable大小,但是这种改变大小是极为不正常的,经常在item中改变大小但是在实际应用中会恢复为原来大小,不管是用layer_list还是selector,不管引用方式是src还是background。当然,除非是用shape自绘图形,就可以自控大小。
<item width="10dp"
height="10dp"
drawable="@drawable/mydraw"/>