Android使用Shape修改控件樣式

1、在drawable文件夾下建立樣式文件
java

        mystyle.xml
android

<?xml version="1.0" encoding="utf-8"?>

<!--
shape drawable xml文件中定義的一個幾何圖形,定義在res/drawable/目錄下,文件名filename稱爲訪問的資源ID
在代碼中經過R.drawable.filename進行訪問,在xml文件中經過@[package:]drawable/filename進行訪問。
-->
<!--
android:shape=["rectangle" | "oval" | "line" | "ring"]
shape的形狀,默認爲矩形,能夠設置爲矩形(rectangle)、橢圓形(oval)、線性形狀(line)、環形(ring)
  下面的屬性只有在android:shape="ring時可用:
  android:innerRadius 尺寸,內環的半徑。
  android:innerRadiusRatio 浮點型,以環的寬度比率來表示內環的半徑,
  例如,若是android:innerRadiusRatio,表示內環半徑等於環的寬度除以5,這個值是能夠被覆蓋的,默認爲9.
  android:thickness 尺寸,環的厚度
  android:thicknessRatio 浮點型,以環的寬度比率來表示環的厚度,例如,若是android:thicknessRatio="2",
  那麼環的厚度就等於環的寬度除以2。這個值是能夠被android:thickness覆蓋的,默認值是3.
  android:useLevel boolean值,若是當作是LevelListDrawable使用時值爲true,不然爲false.
 -->

<shape
   xmlns:android="http://schemas.android.com/apk/res/android"
   android:shape="rectangle">
   
   <!--
    圓角
    android:radius   整型 半徑
    android:topLeftRadius   整型 左上角半徑
    android:topRightRadius   整型 右上角半徑
    android:bottomLeftRadius 整型 左下角半徑
    android:bottomRightRadius 整型 右下角半徑
    -->

    <corners  
       android:radius="8dp"
       android:topLeftRadius="5dp"
       android:topRightRadius="15dp"
       android:bottomLeftRadius="20dp"
       android:bottomRightRadius="25dp"  
       />
         <!--
    漸變色
    android:startColor  顏色值 起始顏色
       android:endColor    顏色值 結束顏色
       android:centerColor 整型   漸變中間顏色,即開始顏色與結束顏色之間的顏色
       android:angle       整型   漸變角度(PS:當angle=0時,漸變色是從左向右。 而後逆時針方向轉,當angle=90時爲從下往上。angle必須爲45的整數倍)        android:type        ["linear" | "radial" | "sweep"] 漸變類型(取值:linear、radial、sweep)
                           linear 線性漸變,這是默認設置
                           radial 放射性漸變,以開始色爲中心。
                           sweep 掃描線式的漸變。
      android:useLevel   ["true" | "false"] 若是要使用LevelListDrawable對象,就要設置爲true。設置爲true無漸變。false有漸變色
      android:gradientRadius 整型 漸變色半徑.當 android:type="radial" 時才使用。單獨使用 android:type="radial"會報錯。
      android:centerX     整型   漸變中心X點座標的相對位置
      android:centerY   整型   漸變中心Y點座標的相對位置
android:angle 當angle=0時,漸變色是從左向右。 而後逆時針方向轉,當angle=90時爲從下往上。
   -->   
spa

 <gradient        android:startColor="#FFFF0000"        android:endColor="#80FF00FF"        android:angle="45"        />        
   <!--
    內邊距,即內容與邊的距離
    android:left   整型 左內邊距
   android:top   整型 上內邊距
   android:right   整型 右內邊距
   android:bottom 整型 下內邊距
     -->

    <padding
        android:left="10dp"
        android:top="10dp"
        android:right="10dp"
        android:bottom="10dp"
        />
        <!--
    size 大小
    android:width 整型 寬度
    android:height 整型 高度
   -->

   <size
       android:width="600dp"
       />    
   <!--
    內部填充
    android:color 顏色值 填充顏色
   -->

   <solid
       android:color="#ffff9d77"
       />    
    <!--
    描邊
    android:width 整型 描邊的寬度
    android:color 顏色值 描邊的顏色
    android:dashWidth 整型 表示描邊的樣式是虛線的寬度, 值爲0時,表示爲實線。值大於0則爲虛線。
    android:dashGap   整型 表示描邊爲虛線時,虛線之間的間隔 即「 - - - - 」
    -->

    <stroke
       android:width="2dp"
       android:color="#dcdcdc"  
       /> code

</shape>xml


2、使用對象

    給控件的background設置 utf-8

R.drawable.mystyle
相關文章
相關標籤/搜索