UI设计一般有两种方式,首先是UI把图形设计好,分解成UI设计元素后,在代码中直接使用,对于那些简单的图形,如矩形、扇形这样的图形,一般的系统的API会提供这样的接口,但是在Android下,有第三种画图方式,介于二者之间,结合二者的长处,如下的代码:
- <item android:id="@android:id/secondaryProgress">
- <clip>
- <shape>
- <corners android:radius="5dip" />
- <gradient
- android:startColor="#0055ff88"
- android:centerColor="#0055ff00"
- android:centerY="0.75"
- android:endColor="#00320077"
- android:angle="270"
- />
- </shape>
- </clip>
- </item>
这是一个Progress的style里面的代码,描述的是进度条的为达到的图形,原本以为这是一个图片,后来仔细的跟踪代码,发现居然是 xml,像这种shape corners gradient等等这还是第一次碰到。shape 表示是一个图形,corners表示是有半径为5像素的圆角,然后,gradient表示一个渐变。这样作图简单明了,并且可以做出要求很好的图形,并且节省资源
xml代码
- <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle">
- <gradient android:startColor="#FFFF0000" android:endColor="#80FF00FF"
- android:angle="270"/>
- <padding android:left="50dp" android:top="20dp"
- android:right="7dp" android:bottom="7dp" />
- <corners android:radius="8dp" />
- </shape>
gradient 产生颜色渐变 android:angle 从哪个角度开始变 貌似只有90的整数倍可以
android:shape="rectangle" 默认的也是长方形
- <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
- <solid android:color="#ff4100ff"/>
- <stroke android:width="2dp" android:color="#ee31ff5e"
- android:dashWidth="3dp" android:dashGap="2dp" />
- <padding android:left="7dp" android:top="7dp"
- android:right="7dp" android:bottom="7dp" />
- <corners android:radius="6dp" />
- </shape>
#ff4100ff蓝色#ff4100ff绿色
<solid android:color="#ff4100ff"/>实心的 填充里面
<stroke 描边 采用那样的方式将外形轮廓线画出来
android:dashWidth="3dp" android:dashGap="2dp" 默认值为0
android:width="2dp" android:color="#FF00ff00"笔的粗细,
android:dashWidth="5dp" android:dashGap="5dp" 实现- - -这样的效果,dashWidth指的是一条小横线的宽度
dashGap 指的是 小横线与小横线的间距。 width="2dp" 不能太宽
shape等特殊xml
1.用 shape 作为背景
- <shape xmlns:android="http://schemas.android.com/apk/res/android">
- <solid android:color="#f0600000"/>
- <stroke android:width="3dp" color="#ffff8080"/>
- <corners android:radius="3dp" />
- <padding android:left="10dp" android:top="10dp"
- android:right="10dp" android:bottom="10dp" />
- </shape>
相关推荐
最近在做按钮的时候遇到在给按钮设置一张图片作为背景的同时还要自己定义圆角,最简单的做法就是直接切张圆角图作为按钮就可以了,但是如果不这样该怎么办呢,看代码: 下面来看效果图 一、先建一个圆角的shape...
首先在drawable目录下定义好圆角背景文件dialog_corner_bg.xml <?xml version=1.0 encoding=utf-8?> <layer-list xmlns:android=http://schemas.android.com/apk/res/android> <shape android:shape...
本文和大家一起做一个带箭头的圆角矩形菜单,大概长下面这个样子: ...这里声明了7个属性,分别是:箭头宽度、箭头高度、箭头水平偏移、圆角半径、菜单背景色、阴影色、阴影厚度。 <resour
本文主要记录Android控件设置阴影 给控件设置阴影,会使得界面元素更... 新建一个渐变的图层 item作为背景图层,主要是 gradient,shape是用来定义形状的,corners设置角度,gradient定义该形状里面为渐变色填充,star
1. 定义一个普通圆角背景的xml; rounded_corners.xml <?xml version=1.0 encoding=utf-8?> <shape xmlns:android=http://schemas.android.com/apk/res/android android:shape=rectangle> <solid android:...
如何定义dialog? 如何定义圆角背景dialog? 如何定义dialog弹出位置和动画?
RTextView 能够直接设置各种圆角效果: 四周圆角,某一方向圆角,甚至椭圆,圆形都简单实现。 边框效果,虚线边框都是一个属性搞定 > > 4. RTextView 不仅能够定义默认状态的背景,边框,连按下/点击状态通通一起...
本文实例总结了Android开发之资源文件用法。分享给大家供大家参考,具体如下: 这里记录在Android开发中经常用到的一些用法 ...纯色圆角背景 <shape xmlns:android=http://schemas.android.com/apk/res
今天给大家介绍一下如何实现一款简约时尚的安卓登陆界面。...那么我就来定义一个白色的输入框背景。代码如下: <!-- 形状 --> <shape xmlns:android=http://schemas.android.com/apk/res/andro
在开发中我们经常要使用图片或者drawable文件夹下的xml,来实现一些效果,Drawable的用法都和xml相关,我们可以使用shape、layer-list等标签绘制一些背景,还可以通过selector标签定义View的状态的效果等。...
不知道大家是否用过天天动听,对于它界面上... 利用Shaper设置一个半透明圆角背景。 2. 定义Menu布局,主要就GridView,把图标都放在这个GridView。 3. Menu事件, 通过PopupWindow或者AlertDialog或者透明Activ
本来想定义水平的,然后旋转一下,后来发现还不如直接定义竖直方向来的直接,就直接在竖直方向画了下。 首先讲一下思路,就是通过继承View,然后通过onDraw()方法进行绘制。具体绘制的时候,需要处理一些小细节。 ...
# RapidDevelop-Android快速开发框架 - 框架持续更新中 - 这个框架是从平时项目里用的比较多的框架里整合而来 - 对本项目感兴趣的可以一起研究喜欢的朋友欢迎star - 同时也欢迎大家的宝贵意见issues - 如果大家...
ci_drawablereference设置当前或选中的小圆点的样式,如颜色、圆角等。ci_drawable_unselectedreference和"ci_drawable"一样,只是该属性设置的是未选中的小圆点的样式。点击上面的"下载源码"下载完整的demo工程。...
1. 利用Shaper设置一个半透明圆角背景 2. 定义Menu布局,主要就GridView,把图标都放在这个GridView 3. Menu事件, 通过PopupWindow或者AlertDialog或者透明Activity显示到页面即可。 4. 按钮的监听事件,实例中没...