Android UI--Shape和Selector

Android UI开发中,Shape定义控件的样式,Selector定义控件状态。比如定义圆角Button,矩形Button,Button按下后的变化响应等,下面介绍在XML文件中静态定义。

一、Shape属性

  1. 填充,就是背景色
  2. 边角形状,可以单独定义几个角的半径
  3. 边框样式
  4. 大小
  5. 内容与边框的距离,实测无效……
  6. 渐变样式,包括渐变两头的颜色、变化角度
定义一个bg_btn.xml文件
Android UI--Shape和Selector_第1张图片



   
     
         
          
         
           
         
         
           
            
         
         
         
         
         
         
         
         
        
      
     
	


布局文件中添加一个Button,backgroud里应用该样式




	

效果如图


有点丑……


二、Selector

根据不同的选定状态来定义不同的现实效果

分为四大属性:

android:state_selected 是否选中

android:state_focused 是否获得焦点

android:state_pressed 是否按压

android:state_enabled 是否设置是否响应事件,指所有事件


同样,drawable文件夹下新建一个btn_color.xml,描述各种状态下按键的文字颜色


  
  
      
    
      
    
      
    
      
  


layout文件中,Button属性赋值

           android:textColor="@drawable/btn_color"

可以看到几种状态下Button文字颜色变化


三、单位

Android开发中有dp、dip和px三个单位,定义分别是:

  1.    dp是Density-independent Pixels简写,密度无关
  2.    dip是Density Independent Pixels
  3.    px是Pixel的缩写,像素单位
前两者是一个概念,均是长度单位。按Google官方文档《支持多种屏幕》,开发布局中 尽量使用dp单位 ,以适应不同分辨率(密度)的屏幕。相同dp的长度在不同分辨率屏幕上表现是一样大小,但改成px单位,显示大小会随屏幕分辨率变化。




你可能感兴趣的:(Android)