Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android中drawable使用Shape資源

Android中drawable使用Shape資源

編輯:關於Android編程

本文實例為大家分享了drawable使用Shape資源的具體內容,供大家參考,具體內容如下

1.畫一條水平方向的虛線

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
  android:shape="line" >

  <stroke
    android:dashGap="3dp"
    android:dashWidth="6dp"
    android:width="1dp"
    android:color="#FF8C69" />

</shape>

Android:width=”1dp” 為線條的高度
android:dashGap=”3dp” 表示虛線間空隙的寬度,0表示一條實線;
android:dashWidth=”6dp” 表示每個虛線的寬度。

注意:在版本4.0以上,需要在控件中設置android:layerType=”software”,否則虛線無效,顯示為實線。

2.畫一條垂直方向的虛線

<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
  android:fromDegrees="90"
  android:toDegrees="90"
  android:drawable="@drawable/line" >

</rotate>

或者使用下面的方法

<?xml version="1.0" encoding="utf-8"?>
<rotate xmlns:android="http://schemas.android.com/apk/res/android"
  android:fromDegrees="90"
  android:toDegrees="90" >

  <shape android:shape="line" >
    <stroke
      android:dashGap="3px"
      android:dashWidth="6px"
      android:width="1dp"
      android:color="#FF8C69" />
  </shape>
</rotate>

3.畫一個實心圓

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
  android:shape="oval" >

  <solid android:color="#FF8C69" />

</shape>

4.畫一個圓環

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
  android:innerRadius="15dp"
  android:shape="ring"
  android:thickness="10dp"
  android:useLevel="false" >

  <solid android:color="#FF8C69" />

  <stroke
    android:width="1dp"
    android:color="#FF8C69" />

</shape>

android:innerRadius=”15dp” 設置尺寸,內環的半徑
android:thickness=”10dp” 設置尺寸,環的厚度
android:useLevel=”false” boolean值,如果當做是LevelListDrawable使用時值為true,否則為false.

android:innerRadiusRatio=”9” 浮點型,以環的寬度比率來表示內環的半徑,表示內環半徑等於環的寬度除以5,這個值是可以被覆蓋的,默認為9.
android:thicknessRatio=”2” 浮點型,以環的寬度比率來表示環的厚度, 表示環的厚度就等於環的寬度除以2。這個值是可以被android:thickness覆蓋的,默認值是3.

5.畫一個矩形

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
  android:shape="rectangle" >

  <corners android:radius="30dp" />

  <solid android:color="#FF8C69" />

  <stroke
    android:width="1dp"
    android:color="#FF8C69" />

</shape>

總結

<?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:bottomLeftRadius="20dp"
    android:bottomRightRadius="25dp"
    android:radius="8dp"
    android:topLeftRadius="5dp"
    android:topRightRadius="15dp" />

  <!--
     漸變色 
  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點坐標的相對位置

  -->
  <gradient
    android:angle="45"
    android:endColor="#80FF00FF"
    android:startColor="#FFFF0000" />

  <!--
      內邊距,即內容與邊的距離  
  android:left       整型左內邊距
  android:top       整型上內邊距
  android:right      整型右內邊距
  android:bottom      整型下內邊距

  -->
  <padding
    android:bottom="10dp"
    android:left="10dp"
    android:right="10dp"
    android:top="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" />

</shape>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持本站。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved