本文正在参与「金石方案 . 分割6万现金大奖」
Shape是Android中一个必不可少的资源,许多的布景,比方圆角,分割线、渐变等等作用,简直都有它的影子存在,究竟写起来简略快捷,运用起来也是简略快捷,又占用内存小,谁能不爱?无论是初级,还是中高级,创立一个shape文件,信任咱们都是信手拈来。
虽然在项目里,咱们能够直接复制一个Shape文件,改一改,就能很简略的完成,但是为了更便利的创立,直接拿来能够用,所以搞了一个在线的Shape生成,现在包含了,实心、空心、渐变的模式,期望能够协助到咱们,虽然是归于造轮子了,但猜想一下,估量有需求的人,哈哈~
今天的内容大致如下:
1、在线生成Shape作用
2、怎么完成这样一个在线生成平台
3、具体的首要代码完成
4、总结及问题须知
一、在线生成Shape作用
作用不是很好,究竟咱也不是搞UI的,不过功用均可用,问题不大,现在便是左边功用挑选区域,右侧是作用及代码展示区域,包含文件的下载操作。
在线地址:abnerming888.github.io/vip/shape/s…
实际作用如下:
二、怎么完成这样一个在线生成平台
其实咱们能够发现,虽然是辅助生成的Android功用,但自身便是网页,所以啊,懂得Web这是最根本的,不要求多么通晓,但根本的页面得需求掌握,其次便是,清楚自己要完成什么功用,得有思路,比方这个Shape,那么你就要罗列常用的几种Shape类型,其首要的代码是怎么出现的,这是最重要的,搞定下面两步问题不大。
1、Shape代码模板
Shape的生成,其实是依据模板来的,只不过依据动态装备,改其中的参数而已,所以啊,是非常简略的,罗列根本的模板后,就能够挑选性的更改。
实心模板
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners android:radius="10dp"></corners>
<solid android:color="#ff0000" />
</shape>
空心模板
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
>
<stroke
android:width="1dp"
android:color="#ff0000" />
<corners android:radius="10dp" />
<solid android:color="#171616"/>
</shape>
渐变模板
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:angle="90"
android:centerColor="#000000"
android:endColor="#ff0000"
android:startColor="#ff0000"
android:type="linear" />
<corners android:radius="10dp"></corners>
</shape>
在上边的模板中,其实需求更改的元素并不是许多,无非便是,色彩值,视点大小,边框等信息,这些信息,需求用户自己挑选,所以需求抛给用户触发。
2、Web页面编写及上传平台
有了相关模板,那么就需求制作UI进行完成了,其实在Android studio里的插件最合适不过了,插件也已经完成了,这个咱们后边说,现在的在线,就需求咱们进行Web制作了,也便是Html、Css、JavaScript相关的技能了,相对于Android而言,还是比较简略的,编码思维都是一样的,具体的编写,咱们能够自行发挥。
其实咱们最关心的是,咱们的页面,怎么让别人进行运用,一般的情况下,服务器是必须的,如果咱们没有服务器,其实也有许多的三方免费的托管,比方Github上,Github搭建静态网站,咱们能够去搜,网上许多资料,依照步骤来就能够轻松完成了。
三、具体的首要代码完成
1、色彩挑选完成
色彩用到了coloris插件,它能够在接触输入框的时分,弹出色彩挑选框,作用如下图:
运用起来也是很简答,在标签后边添加data-coloris属性即可。
<input type="text" style="width: 75%" class="input_color" value="#ff0000" data-coloris/>
2、下载代码完成
下载代码是用到了一个三方插件,FileSaver.js,下载的时分,也是非常的简略:
let blob = new Blob([code], {type: "text/plain;charset=utf-8"});
saveAs(blob, fileName + ".xml");
3、惯例代码完成
惯例代码,确实没啥好说的,无非便是Html、Css、JavaScript,咱们能够直接右键看源代码即可。
四、总结及问题须知
其实咱们能够发现,现在的生成,色彩也好,视点边框也好,都是固定写死的,其实,在实际的项目开发中,这些都是在资源里进行装备好的,直接挑选资源里的即可,其实应该加个,可装备的参数,只装备一次,就能够动态的挑选项目中的资源。
在线的究竟还不是很便利,其实自己一直在搞一个主动化脚手架,能够直接生成到项目中,现在是针对公司里架构,不太便利开源出来,但2023年,改为自己的框架后,会给咱们开源出来,许多代码,真的能够主动生成,真是便利了许多。