您的位置:首页 > 移动开发 > Android开发

Android Drawable知识

2015-11-15 13:55 537 查看
1.shape Drawable
<corners > 四个角的角度   只适用于矩形shape
android:radius-优先级最低
android:topRightRadius 。。。。。。

<soild>填充色  
<gradient> 表示渐变效果      效果和soild冲突

<stroke>shape描边 属性有width color (dashWidth dashGap 配合使用 ) 

<padding>内边距 android:left | right | bottom | top

<size >对于shape来说 一般是没有默认宽高的 它的宽高会随着View的大小自动拉伸 但是设置了size 之后可以通过getInstrinsicHeight或者getInstrinsicWidth获取这个默认的size,

2.layer Drawable
 <layer_list>
     <item>
 一个layer-list 包含多个item,一个item类似ps里一个图层  item中也可以包含shape
例如:
<layer-list>

  <item 
     <shape android :shape="rectangle">
         <solid  android :color="#ffffff"/>
       </shape>

   </item>
<item 
     <shape android :shape="rectangle">
         <solid  android :color="#ffffff"/>
       </shape>

   </item>
</layer-list

3.StateListDrawable
 对应<selector>标签 根据View的状态显示对应的Drawable的值 

 android:constantsize  Drawable 的固有大小是否随着其状态的改变而改变  如果是true 则不变 此时的固有大小为所有Drawable固有大小的最大值
 false则表示会随着状态的改变而改变

android:dither 抖动效果 开启此效果可以让图片在低质量的的屏幕上获得好的显示效果  默认开启 true

android variablePadding  padding是否随着 状态的切换改变而改变 默认是false 此时取所有padding的最大值  

每个item对应一个具体的Drawable 
android:state_pressed 表示按下状态  例如按钮正在被按着
android:state_focused 表示View获取了焦点
android:state_selected 表示选择了View
android:state_checked 选中了view 适用于checkbox
android_state_enable 表示view处于可用状态 

例如
<selector>
  <item android:state_pressed="true"  android:drawable="@xx/xxxx"/>  <!-- 按下 -->
  <item android:state_focused="true"  android:drawable="@xx/xxxx"/>  <!-- 获取焦点 -->
  <android:drawable="@xx/xxxx"/><!-- default-->
</selector>

4.levelDrawable
    直接上列子
   <level_list>
      <item
           android:drawable=""
           androidLmaxLevel=" "
           androidLminLevel=" "
      />
    </level_list>
使用的时候调用ImageView的setImageLevel来切换

5.未完待续
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android Drawable