日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術(shù)文章
文章詳情頁

android 使用Xml文件定義Shape方式

瀏覽:266日期:2022-09-25 16:51:25

在res目錄下建一個(gè)drawable文件夾,注意文件夾名字一定要是drawable,否則在xml模板中你是找不到shape的

android 使用Xml文件定義Shape方式

下圖就通過一個(gè)xml文件自定義一個(gè)shape

<?xml version='1.0' encoding='utf-8'?><shape xmlns:android='http://schemas.android.com/apk/res/android' android:shape='oval'> <stroke android: android:color='#1f000000' /> <solid android:color='#FF0000' /></shape>

下圖是布局文件

android 使用Xml文件定義Shape方式

最后運(yùn)行的效果如下:

android 使用Xml文件定義Shape方式

下面這個(gè)shape文件,定義一個(gè)方形

<?xml version='1.0' encoding='utf-8'?><shape xmlns:android='http://schemas.android.com/apk/res/android' > <stroke android: android:color='#1f000000' /> <solid android:color='#ffffff' /> <corners android:radius='10dp' /></shape>

上面的shape的效果如下:

android 使用Xml文件定義Shape方式

補(bǔ)充知識(shí):AndroidStudio XML文件之shape標(biāo)簽使用詳解

前言:

shape標(biāo)簽可以很方便的得到一些矩形、圓、橢圓、圓環(huán),可以實(shí)現(xiàn)圓角、漸變,shape編寫出來的資源,可以作為View的背景,減少View使用圖片作為背景圖的概率,從而減少apk體積,相對(duì)比圖片要更節(jié)省內(nèi)存,shape標(biāo)簽編寫出來的資源一般放到drawable文件目錄下。

shape標(biāo)簽如何使用:

shpae標(biāo)簽的載體是一個(gè)xml文件,一個(gè)xml里同時(shí)只能存在一個(gè)shape標(biāo)簽,在shape標(biāo)簽里聲明一些屬性和嵌套標(biāo)簽組合起來,可以得到一個(gè)視圖資源,利用該資源可以填充View的屬性

示例:

<!-- 圓環(huán)-流線型漸變 --><shape xmlns:android='http://schemas.android.com/apk/res/android' android:shape='ring' android:innerRadius='20dp' android:thickness='6dp' android:useLevel='false'> <size android: android: /> <!--掃描漸變shape不能設(shè)置角度 #00ff0000 #80ff0000 ffff0000 --> <gradient android:centerColor='@color/colorCyan' android:endColor='@color/colorGreen' android:startColor='@color/colorCyanine' android:type='sweep' /></shape>

android 使用Xml文件定義Shape方式

shape標(biāo)簽里面的屬性:

android:shape='XXX'

方型:rectangle,這也是默認(rèn)的形狀圓型:oval線形:line環(huán)形:ring,上面示例就為環(huán)形

如果android:shape='ring',以下屬性定義才會(huì)生效:

android:innerRadius : 環(huán)內(nèi)部(中間的孔)的半徑,以dp表示android:innerRadiusRatio : 環(huán)內(nèi)部的半徑,浮點(diǎn)型。以環(huán)寬度的比率表示。此值被 android:innerRadius覆蓋。默認(rèn)值為 9。android:thickness : 環(huán)的厚度,以dp表示。android:thicknessRatio : 環(huán)的厚度,浮點(diǎn)型。表示為環(huán)寬度的比率。此值被 android:innerRadius 覆蓋。默認(rèn)值為 3。android:useLevel : 布爾值。如果這用作 LevelListDrawable,則此值為“true”。這通常應(yīng)為“false”,否則形狀不會(huì)顯示。

shape標(biāo)簽里可以嵌套的標(biāo)簽:

solid標(biāo)簽的屬性: 用于填充形狀的內(nèi)部顏色

android:color'XX'

corners標(biāo)簽的屬性:為形狀產(chǎn)生圓角。僅當(dāng)形狀為矩形時(shí)適用

android:radius : 所有角都進(jìn)行圓角處理半徑,如果有單獨(dú)設(shè)置某個(gè)角,單獨(dú)設(shè)置的優(yōu)先級(jí)最高android:topLeftRadius : 左上圓角android:topRightRadius : 右上圓角android:bottomLeftRadius : 左下圓角android:bottomRightRadius : 右下圓角

padding標(biāo)簽的屬性:內(nèi)邊距

android:left : 左內(nèi)邊距android:top : 上內(nèi)邊距android:right :右內(nèi)邊距android:bottom :下內(nèi)邊距

size標(biāo)簽的屬性:形狀的大小,可以通過這里來設(shè)置形狀大小

android:height='XX'android:width='XX'

stroke標(biāo)簽的屬性: 描邊,可以是實(shí)線也可以是虛線

android:width :線寬android:color :顏色android:dashWidth :虛線的間距。僅在設(shè)置了 android:dashGap 時(shí)有效android:dashGap : 虛線的厚度大小。僅在設(shè)置了 android:dashWidth 時(shí)有效

gradient標(biāo)簽的屬性:形狀漸變顏色

android:angle : 整型。漸變的角度(度)。0 為從左到右,90 為從上到上。必須是 45 的倍數(shù)。默認(rèn)值為 0。android:centerX : 浮點(diǎn)型。漸變顏色的位置 (0 - 1.0)。android:centerY : 浮點(diǎn)型。漸變顏色的位置 (0 - 1.0)。android:centerColor :顏色。起始顏色與結(jié)束顏色之間的可選顏色android:endColor : 顏色。結(jié)束顏色android:gradientRadius : 浮點(diǎn)型。漸變的半徑。僅在 android:type='radial' 時(shí)適用。android:startColor : 顏色。起始顏色android:type :要應(yīng)用的漸變圖案的類型linear :線性漸變。這是默認(rèn)值radial : 徑向漸變。起始顏色為中心顏色。sweep : 流線型漸變

動(dòng)態(tài)創(chuàng)建GradientDrawable并使用:

用shape標(biāo)簽定義的xml,最終都會(huì)轉(zhuǎn)化為GradientDrawable對(duì)象,所以創(chuàng)建GradientDrawable對(duì)象和定義shape文件是一樣的

//創(chuàng)建GradientDrawable GradientDrawable gd = new GradientDrawable(); //對(duì)應(yīng)形狀 gd.setShape(GradientDrawable.RING); //對(duì)應(yīng)內(nèi)部填充顏色 gd.setColor(Color.parseColor('#FFFF0000')); //對(duì)應(yīng)圓角 gd.setCornerRadius(5); //對(duì)應(yīng)xml的stroke gd.setStroke(3, Color.parseColor('#FFFF0000')); //給某個(gè)view使用 view.setBackgroundDrawable(gd); //如果要設(shè)置漸變顏色,方法一 int colors[] = { 0xff255779 , 0xff3e7492, 0xffa6c0cd };//分別為開始顏色,中間夜色,結(jié)束顏色 GradientDrawable gradientDrawable = new GradientDrawable(GradientDrawable.Orientation.TOP_BOTTOM, colors); //設(shè)置中間漸變顏色的位置 gradientDrawable.setGradientCenter(1,2); //漸變type gradientDrawable.setGradientType(GradientDrawable.SWEEP_GRADIENT); //動(dòng)態(tài)改變GradientDrawable的屬性 GradientDrawable drawable =(GradientDrawable)view.getBackground(); drawable.setColor(fillColor); // 設(shè)置填充色 drawable.setStroke(strokeWidth, strokeColor); // 設(shè)置邊框?qū)挾群皖伾? drawable.setColors(colors); // 設(shè)置漸變顏色數(shù)組

把資源文件轉(zhuǎn)換成Java對(duì)象:

GradientDrawable d = (GradientDrawable) context.getResources().getDrawable(R.drawable.loading_shape); d.setColors(PublicLibraryStyle.colorThemes); bindId(R.id.iv_loading).setBackground(d);

以上這篇android 使用Xml文件定義Shape方式就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持好吧啦網(wǎng)。

標(biāo)簽: Android
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
99久久激情| 国产精品免费不| 国产中文在线播放| 欧洲av一区二区| 精品一区在线| 首页国产欧美久久| 欧美亚洲综合视频| 久久久久伊人| 日韩精品一区二区三区免费观影| 国产91久久精品一区二区| zzzwww在线看片免费| 不卡在线一区二区| 日韩成人精品一区二区三区| 美女视频黄免费的久久| 久久精品青草| 久久亚洲风情| 久久免费影院| 欧美日韩国产欧| 日本不卡一区二区| 久久久免费人体| 精品一区毛片| 97成人在线| 三级小说欧洲区亚洲区| 亚洲视频二区| 福利欧美精品在线| 激情综合自拍| 国产日韩一区二区三免费高清| 久久电影tv| 综合激情视频| 日韩理论视频| 亚洲精品乱码| 日韩欧美三级| 日韩精品a在线观看91| 不卡福利视频| 日韩1区2区3区| 91av亚洲| 欧美日一区二区在线观看| 久久精品在线| 亚洲青青久久| 日韩精品免费一区二区三区| 午夜在线播放视频欧美| 高清一区二区| 日本中文字幕不卡| 国产中文一区| 精品国产精品国产偷麻豆| 免费在线观看视频一区| av最新在线| 国产亚洲精品美女久久| 黄色成人精品网站| 岛国av在线网站| 日韩av一二三| 国产精品日本| 日韩在线不卡| 国产精品xxx在线观看| 99re国产精品| 国产精品二区不卡| 国产精品一区高清| 亚洲毛片网站| 午夜影院欧美| 日韩国产网站| 卡一卡二国产精品| 免费在线欧美视频| 午夜欧美精品久久久久久久| 97精品国产福利一区二区三区| 欧美一区久久| 天堂av一区| 鲁大师影院一区二区三区| 99视频精品视频高清免费| 激情综合五月| 久久精品国产99国产精品| 中文字幕一区日韩精品| 亚洲精品99| 伊人久久大香线蕉av不卡| 91综合网人人| 成人亚洲一区| 91一区二区三区四区| 久久精品伊人| 国产精品草草| 国产乱子精品一区二区在线观看| 亚洲开心激情| 香蕉久久一区| 日韩精品三级| 亚洲一级大片| 日精品一区二区三区| 中文字幕亚洲精品乱码| 香蕉精品视频在线观看| 欧美日韩在线二区| 国产在线|日韩| 91精品国产乱码久久久久久久 | 蜜臀av在线播放一区二区三区| 电影天堂国产精品| 日韩欧美精品综合| 国产精品亚洲综合色区韩国| 国产精品一区亚洲| 国产精品视频一区二区三区综合| 日韩va亚洲va欧美va久久| 天使萌一区二区三区免费观看| 国产欧美日韩综合一区在线播放| 亚洲精品日本| 日本aⅴ精品一区二区三区| 欧美伊人久久| 国产激情久久| 欧美一级二级视频| 麻豆精品国产91久久久久久| 国产精品成人a在线观看| 亚洲人成在线网站| 亚洲婷婷在线| 99热精品在线观看| 久久成人亚洲| 日本欧美大码aⅴ在线播放| 国产精品综合色区在线观看| 国产日产精品_国产精品毛片 | 亚洲一区日韩| 亚洲精品日韩久久| 日本欧美一区| 麻豆成人91精品二区三区| 国产第一亚洲| 国产伊人精品| 免费在线观看成人| 日韩亚洲精品在线观看| 国产精品久久久久久久久免费高清| 久久精品国产在热久久| 久久国产毛片| 蜜桃久久av| 国产精品成人国产| 在线日韩一区| 亚洲v天堂v手机在线| 国产精品中文字幕制服诱惑| zzzwww在线看片免费| 在线亚洲观看| 国产精品一国产精品k频道56| 91看片一区| 亚洲丝袜美腿一区| 国产午夜久久av| 捆绑调教日本一区二区三区| 一区在线观看| 国产欧美精品| 欧美精选一区二区三区| 日本成人手机在线| 中文字幕人成乱码在线观看 | 久久亚洲人体| 国产视频一区免费看| 久久国产乱子精品免费女| 日韩一区自拍| 日本免费一区二区视频| 久久精品一区二区国产| 国产一区二区中文| 久久精品97| 日韩中文字幕高清在线观看| 亚洲一二三区视频| 波多视频一区| 91精品国产自产观看在线| 亚洲五月婷婷| 久久国产欧美日韩精品| 99成人在线视频| 国产欧美激情| 久久福利毛片| 国产传媒在线| 国产欧美日韩| 一区二区三区国产盗摄| 免费看久久久| 久热精品在线| 日韩毛片视频| 国产精品一级在线观看| 黄色成人在线网址| 丁香婷婷久久| 欧美一区二区三区免费看| 欧美日韩日本国产亚洲在线| 国产成人精品免费视| 亚洲网址在线观看| 亚洲国内精品| 欧美激情网址| 蜜桃av一区二区三区电影| sm久久捆绑调教精品一区| 日韩1区2区日韩1区2区| 亚洲二区精品| 日韩在线高清| 国产精品不卡| 国产精品chinese| 日韩久久一区| 蜜臀av性久久久久蜜臀aⅴ四虎| 日本在线精品| 国产一区三区在线播放| 国产精品一国产精品k频道56| 喷白浆一区二区| 亚洲一级网站| 久久天堂av| 亚洲播播91| 精品美女视频 | 日韩国产在线不卡视频| aa亚洲婷婷| 成人日韩在线| 国产成人精品福利| 精品高清久久| 精品中国亚洲| 日韩av中文字幕一区| 日韩视频一二区| 日本aⅴ精品一区二区三区| 亚洲精品在线二区| 亚洲bt欧美bt精品777|