Android 中shape的使用(圓角矩形)


一、在res/drawable文件夾下創建一個名為gradient_box的xml文件:

  1 <?xml version="1.0" encoding="utf-8"?>
  2 <!--
  3 shape drawable xml文件中定義的一個幾何圖形,定義在res/drawable/目錄下,文件名filename稱為訪問的資源ID
  4 在代碼中通過R.drawable.filename進行訪問,在xml文件中通過@[package:]drawable/filename進行訪問。
  5 
  6 -->
  7 <!--
  8      android:shape=["rectangle" | "oval" | "line" | "ring"]
  9      shape的形狀,默認為矩形,可以設置為矩形(rectangle)、橢圓形(oval)、線性形狀(line)、環形(ring)
 10   下面的屬性只有在android:shape="ring時可用:
 11   android:innerRadius 尺寸,內環的半徑。
 12   android:innerRadiusRatio    浮點型,以環的寬度比率來表示內環的半徑,
 13   例如,如果android:innerRadiusRatio,表示內環半徑等於環的寬度除以5,這個值是可以被覆蓋的,默認為9.
 14   android:thickness     尺寸,環的厚度
 15   android:thicknessRatio     浮點型,以環的寬度比率來表示環的厚度,例如,如果android:thicknessRatio="2" 16   那么環的厚度就等於環的寬度除以2。這個值是可以被android:thickness覆蓋的,默認值是3.
 17   android:useLevel     boolean值,如果當做是LevelListDrawable使用時值為true,否則為false.
 18 
 19 -->
 20 <shape xmlns:android="http://schemas.android.com/apk/res/android"
 21     android:shape="rectangle" >
 22 
 23     <!--
 24          圓角
 25          android:radius       整型 半徑
 26       android:topLeftRadius       整型 左上角半徑
 27       android:topRightRadius      整型 右上角半徑
 28       android:bottomLeftRadius 整型 左下角半徑
 29       android:bottomRightRadius 整型 右下角半徑
 30 
 31     -->
 32     <corners
 33         android:bottomLeftRadius="20dp"
 34         android:bottomRightRadius="25dp"
 35         android:radius="8dp"
 36         android:topLeftRadius="5dp"
 37         android:topRightRadius="15dp" />
 38 
 39     <!--
 40         漸變色
 41         android:startColor  顏色值 起始顏色
 42         android:endColor    顏色值 結束顏色
 43         android:centerColor 整型   漸變中間顏色,即開始顏色與結束顏色之間的顏色
 44         android:angle       整型   漸變角度(PS:當angle=0時,漸變色是從左向右。 然后逆時針方向轉,當angle=90時為從下往上。angle必須為45的整數倍)
 45         android:type        ["linear" | "radial" | "sweep"] 漸變類型(取值:linear、radial、sweep)
 46                             linear 線性漸變,這是默認設置
 47                             radial 放射性漸變,以開始色為中心。
 48                             sweep 掃描線式的漸變。
 49        android:useLevel   ["true" | "false"] 如果要使用LevelListDrawable對象,就要設置為true。設置為true無漸變。false有漸變色
 50        android:gradientRadius 整型 漸變色半徑.當 android:type="radial" 時才使用。單獨使用 android:type="radial"會報錯。
 51        android:centerX        整型   漸變中心X點坐標的相對位置
 52        android:centerY   整型   漸變中心Y點坐標的相對位置
 53 
 54     -->
 55     <gradient
 56         android:angle="45"
 57         android:endColor="#80FF00FF"
 58         android:startColor="#FFFF0000" />
 59 
 60     <!--
 61           內邊距,即內容與邊的距離 
 62           android:left      整型 左內邊距
 63           android:top   整型 上內邊距
 64           android:right      整型 右內邊距
 65           android:bottom 整型 下內邊距
 66 
 67     -->
 68     <padding
 69         android:bottom="10dp"
 70         android:left="10dp"
 71         android:right="10dp"
 72         android:top="10dp" />
 73 
 74     <!--
 75        size 大小
 76        android:width 整型 寬度
 77        android:height 整型 高度
 78 
 79     -->
 80     <size android:width="600dp" />
 81 
 82     <!--
 83         內部填充
 84         android:color 顏色值 填充顏色
 85 
 86     -->
 87     <solid android:color="#ffff9d77" />
 88 
 89     <!--
 90          描邊
 91          android:width 整型 描邊的寬度
 92          android:color 顏色值 描邊的顏色
 93          android:dashWidth 整型 表示描邊的樣式是虛線的寬度, 值為0時,表示為實線。值大於0則為虛線。
 94          android:dashGap      整型 表示描邊為虛線時,虛線之間的間隔 即“ - - - - 95 
 96     -->
 97     <stroke
 98         android:width="2dp"
 99         android:color="#dcdcdc" />
100 
101 </shape>

 

二、在窗口布局文件中將步驟一中創建的文件作為TextView的背景:

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout
 3     xmlns:android="http://schemas.android.com/apk/res/android"
 4     android:layout_width="fill_parent"
 5     android:layout_height="fill_parent">
 6     <TextView
 7         android:layout_width="wrap_content"
 8         android:layout_height="wrap_content"
 9         android:text="ShapeTest"
10         android:background="@drawable/gradient_box"
11         android:textSize="24.0dp"
12         android:textColor="@android:color/black"
13         />
14 </LinearLayout>

三、運行效果展示:

 

(以上轉自:http://jingyan.baidu.com/article/86112f13513f4127379787b0.html)

 

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <shape xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:shape="rectangle" >
 4 
 5     <!--
 6          <stroke
 7         android:width="1dip"
 8         android:color="@color/blue_cosners" />
 9     -->
10 
11     <solid android:color="@color/blue_cosners" />
12 
13     <corners
14         android:bottomLeftRadius="4dip"
15         android:bottomRightRadius="4dip"
16         android:topLeftRadius="4dip"
17         android:topRightRadius="4dip" />
18 
19 </shape>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM