电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

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

android 使用Xml文件定義Shape方式

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

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

android 使用Xml文件定義Shape方式

下圖就通過一個xml文件自定義一個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方式

最后運行的效果如下:

android 使用Xml文件定義Shape方式

下面這個shape文件,定義一個方形

<?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ǔ)充知識:AndroidStudio XML文件之shape標(biāo)簽使用詳解

前言:

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

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

shpae標(biāo)簽的載體是一個xml文件,一個xml里同時只能存在一個shape標(biāo)簽,在shape標(biāo)簽里聲明一些屬性和嵌套標(biāo)簽組合起來,可以得到一個視圖資源,利用該資源可以填充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',以下屬性定義才會生效:

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

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

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

android:color'XX'

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

android:radius : 所有角都進(jìn)行圓角處理半徑,如果有單獨設(shè)置某個角,單獨設(shè)置的優(yōu)先級最高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)簽的屬性: 描邊,可以是實線也可以是虛線

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

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

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

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

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

//創(chuàng)建GradientDrawable GradientDrawable gd = new GradientDrawable(); //對應(yīng)形狀 gd.setShape(GradientDrawable.RING); //對應(yīng)內(nèi)部填充顏色 gd.setColor(Color.parseColor('#FFFF0000')); //對應(yīng)圓角 gd.setCornerRadius(5); //對應(yīng)xml的stroke gd.setStroke(3, Color.parseColor('#FFFF0000')); //給某個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); //動態(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對象:

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

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

標(biāo)簽: Android
相關(guān)文章:
主站蜘蛛池模板: 纯化水设备-EDI-制药-实验室-二级反渗透-高纯水|超纯水设备 | 澳门精准正版免费大全,2025新澳门全年免费,新澳天天开奖免费资料大全最新,新澳2025今晚开奖资料,新澳马今天最快最新图库-首页-东莞市傲马网络科技有限公司 | 三价铬_环保铬_环保电镀_东莞共盈新材料贸易有限公司 | 焊锡丝|焊锡条|无铅锡条|无铅锡丝|无铅焊锡线|低温锡膏-深圳市川崎锡业科技有限公司 | 硫化罐-胶管硫化罐-山东鑫泰鑫智能装备有限公司 | 硬齿面减速机_厂家-山东安吉富传动设备股份有限公司 | 煤矿支护网片_矿用勾花菱形网_缝管式_管缝式锚杆-邯郸市永年区志涛工矿配件有限公司 | 板框压滤机-隔膜压滤机-厢式压滤机生产厂家-禹州市君工机械设备有限公司 | SDG吸附剂,SDG酸气吸附剂,干式酸性气体吸收剂生产厂家,超过20年生产使用经验。 - 富莱尔环保设备公司(原名天津市武清县环保设备厂) | 网站建设-高端品牌网站设计制作一站式定制_杭州APP/微信小程序开发运营-鼎易科技 | 衬氟止回阀_衬氟闸阀_衬氟三通球阀_衬四氟阀门_衬氟阀门厂-浙江利尔多阀门有限公司 | 不锈钢/气体/液体玻璃转子流量计(防腐,选型,规格)-常州天晟热工仪表有限公司【官网】 | 顺辉瓷砖-大国品牌-中国顺辉 | 杭州高温泵_热水泵_高温油泵|昆山奥兰克泵业制造有限公司 | 铝扣板-铝方通-铝格栅-铝条扣板-铝单板幕墙-佳得利吊顶天花厂家 elisa试剂盒价格-酶联免疫试剂盒-猪elisa试剂盒-上海恒远生物科技有限公司 | 水性绝缘漆_凡立水_绝缘漆树脂_环保绝缘漆-深圳维特利环保材料有限公司 | 济南网站策划设计_自适应网站制作_H5企业网站搭建_济南外贸网站制作公司_锐尚 | 民用音响-拉杆音响-家用音响-ktv专用音响-万昌科技 | 媒介云-全网整合营销_成都新闻媒体发稿_软文发布平台 | MTK核心板|MTK开发板|MTK模块|4G核心板|4G模块|5G核心板|5G模块|安卓核心板|安卓模块|高通核心板-深圳市新移科技有限公司 | 深圳快餐店设计-餐饮设计公司-餐饮空间品牌全案设计-深圳市勤蜂装饰工程 | 优秀的临床医学知识库,临床知识库,医疗知识库,满足电子病历四级要求,免费试用 | 无菌实验室规划装修设计-一体化实验室承包-北京洁净净化工程建设施工-北京航天科恩实验室装备工程技术有限公司 | 膜结构停车棚-自行车棚-膜结构汽车棚加工安装厂家幸福膜结构 | 泰安塞纳春天装饰公司【网站】 | 上海深蓝_缠绕机_缠膜机-上海深蓝机械装备有限公司 | 软文世界-软文推广-软文营销-新闻稿发布-一站式软文自助发稿平台 | 中医治疗皮肤病_潍坊银康医院「山东」重症皮肤病救治平台 | 专业生产动态配料系统_饲料配料系统_化肥配料系统等配料系统-郑州鑫晟重工机械有限公司 | 铁素体测量仪/检测仪/铁素体含量测试仪-苏州圣光仪器有限公司 | 云南成人高考网| 小型高低温循环试验箱-可程式高低温湿热交变试验箱-东莞市拓德环境测试设备有限公司 | 东莞市海宝机械有限公司-不锈钢分选机-硅胶橡胶-生活垃圾-涡电流-静电-金属-矿石分选机 | 广州市哲铭油墨涂料有限公司,水性漆生产研发基地 | 陕西高职单招-陕西高职分类考试网| 必胜高考网_全国高考备考和志愿填报信息平台| 全自动烧卖机厂家_饺子机_烧麦机价格_小笼汤包机_宁波江北阜欣食品机械有限公司 | 卫生人才网-中国专业的医疗卫生医学人才网招聘网站! | 沥青车辙成型机-车托式混凝土取芯机-混凝土塑料试模|鑫高仪器 | 苏州同创电子有限公司 - 四探针测试仪源头厂家 | 广东健伦体育发展有限公司-体育工程配套及销售运动器材的体育用品服务商 |