[Android] 零碎知識匯總 - Shape相關(guān)

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:dither="false|true"             //將在位圖的像素配置與屏幕不同時(例如:ARGB 8888 位圖和 RGB 565 屏幕)啟用位圖的抖動;值為“false”時則停用抖動。默認(rèn)值為 true。
    android:shape="rectangle|line|oval|ring"http://分別為矩形、線、橢圓、環(huán)。默認(rèn)為矩形rectangle
    android:innerRadius="integer"           // shape為ring時可用,內(nèi)環(huán)半徑
    android:innerRadiusRatio="float"        // shape為ring時可用,內(nèi)環(huán)的厚度比,即環(huán)的寬度比表示內(nèi)環(huán)半徑,默認(rèn)為3,可被innerRadius值覆蓋
    android:thickness="integer"             // shape為ring時可用,環(huán)的厚度
    android:thicknessRatio="float"          // shape為ring時可用,環(huán)的厚度比,即環(huán)的寬度比表示環(huán)的厚度,默認(rèn)為9,可被thickness值覆蓋
    android:tint="color"                    // 給shape著色
    android:tintMode="src_in|src_atop|src_over|add|multiply|screen" // 著色類型
    android:useLevel="false|true"           // 較少用,一般設(shè)為false,否則圖形不顯示。為true時可在LevelListDrawable使用
    android:visible="false|true"
    >

    <!-- 圓角 -->
    <corners
        android:radius="integer"            // 圓角半徑,該值設(shè)置時下面四個屬性失效
        android:bottomLeftRadius="integer"  // 左下角圓角半徑
        android:bottomRightRadius="integer" // 右下角圓角半徑
        android:topLeftRadius="integer"     // 左上角圓角半徑
        android:topRightRadius="integer"    // 右上角圓角半徑
        />

    <!-- 漸變 -->
    <gradient
        android:useLevel="false|true"       // 與上面shape中該屬性的一致
        android:type="linear|radial|sweep"  // 漸變類型,分別為線性、放射性、掃描性漸變,默認(rèn)為線性漸變linear
        android:angle="integer"             // 漸變角度,當(dāng)上面type為線性漸變linear時有效。角度為45的倍數(shù),0度時從左往右漸變,角度方向逆時針
        android:centerColor="color"         // 漸變中間位置顏色
        android:startColor="color"          // 漸變開始位置顏色
        android:endColor="color"            // 漸變結(jié)束位置顏色
        android:centerX="float"             // type為放射性漸變radial時有效,設(shè)置漸變中心的X坐標(biāo),取值區(qū)間[0,1],默認(rèn)為0.5,即中心位置
        android:centerY="float"             // type為放射性漸變radial時有效,設(shè)置漸變中心的Y坐標(biāo),取值區(qū)間[0,1],默認(rèn)為0.5,即中心位置
        android:gradientRadius="integer"    // type為放射性漸變radial時有效,漸變的半徑
        />

    <!-- 內(nèi)邊距 -->
    <padding
        android:bottom="integer"  // 設(shè)置底部邊距
        android:left="integer"    // 左邊邊距
        android:right="integer"   // 右邊
        android:top="integer"     // 頂部
        />

    <!-- 大小 -->
    <size
        android:height="integer"  // 寬度
        android:width="integer"   // 高度
        />

    <!-- 填充 -->
    <solid
        android:color="color"     // shape的填充色
        />
   
    <!-- 描邊 -->
    <stroke
        android:color="color"       // 描邊的顏色
        android:width="integer"     // 描邊的寬度
        android:dashGap="integer"   // 虛線間隔
        android:dashWidth="integer" // 虛線寬度
    />
</shape>

以上作為筆記用來記錄
要說一下幾個東西

android:innerRadius="integer"        ①      
android:innerRadiusRatio="float"     ②
android:thickness="integer"          ③
android:thicknessRatio="float"       ④

12互斥 1>2
34互斥 3>4
13是具體的值,24是比例

android:useLevel="false|true"

這個我不是很懂,只知道當(dāng) android:shape="ring"時,才有影響,此時android:useLevel="false"圖形才會顯示?。。?br> 至于LevelListDrawable我還不是很懂,再研究研究~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 最近打算好好復(fù)習(xí)并學(xué)習(xí)下drawables,為了加強記憶及方便以后查閱,特再此處做記錄。 shape,圖形的意思,...
    又是一夜風(fēng)雨閱讀 702評論 0 1
  • 概述 今天我們來探究一下android的樣式。其實,幾乎所有的控件都可以使用 background屬性去引用自定義...
    CokeNello閱讀 5,107評論 1 19
  • 本文是學(xué)習(xí)《Android開發(fā)藝術(shù)探索》中Drawable章節(jié)之后的一個總結(jié)。 一、常見的Drawable種類介紹...
    developerzjy閱讀 1,607評論 0 4
  • 優(yōu)點:使用簡單,比自定義View的成本低;非圖片類型的Drawable占用空間較小,這對減小apk的大小也有很大的...
    小柏不是大白閱讀 2,509評論 0 1
  • 一直以來都想鄭重地記錄自己的所想所感。但總是被什么拖著。總想著“一定要好好準(zhǔn)備有最好的開頭”??墒鞘聦嵤恰]有那么...
    坐夏夢冬閱讀 260評論 0 0

友情鏈接更多精彩內(nèi)容