文档章节

android:shape妙用

fantasiter
 fantasiter
发布于 2015/03/01 14:43
字数 478
阅读 108
收藏 3

android:shape这个文件或者说属性是控制组件特性特别有用,往上搜刮的内容讲解很迂腐,还是自己上手试了一下才感觉稍微入了门,不多说,上代码。 我以Button为例,来展示shape的用法。 布局文件送上: <!-- lang: java --> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity" >

<Button 
    android:id="@+id/btnTest"
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:text="组件"
    android:layout_centerInParent="true"
    />

</RelativeLayout> Button的原始特性如图:![可以看出,照片很呆板][1] [1]: http://static.oschina.net/uploads/space/2015/0301/141755_uycv_734421.jpg

下面介绍shape里第一个属性:gradient ,这个属性表示,组件内部颜色的渐变,渐变由android:startColor和android:endColor来实现,这个很好理解,另外一个很重要的标签是渐变的角度android:angle,这个比较难,让我们上手看看,

首先Button需要先引用shape.xml这个文件,接下来我设置了四个比较典型的角度:0度,45度,90度,180度,看图。 <!-- lang: java --> <gradient android:startColor="#000" //结束渐变颜色黑色 android:endColor="#FFF" //起始渐变颜色白色 android:angle="" //渐变角度 /> 0度 45度 45度 90度 180度 渐变方向和角度的关系已经很明显了。 corners:本义是角落,在android里角,就是四个角,这个属性很简单,只有半径这个标签需要记住 <!-- lang: java --> <!-- 组件圆角以及角半径 --><!-- radius后边属性会覆盖android:radius --> <corners android:radius="10dp" android:topLeftRadius="10dp"
android:topRightRadius="20dp" android:bottomLeftRadius="30dp" //bottomLeftRadius和bottomRightRadius两个属性是颠倒的,这个需要注意 android:bottomRightRadius="40dp" /> stroke:就是border,边框,搜到的文档都叫描边,云里雾里啊看的, <!-- lang: java --> <stroke android:color="#FF0000" //边框颜色 android:width="4dp" //边框宽度 android:dashWidth="4dp" //虚线边框宽度 android:dashGap="10dp" //虚线边框宽度 /> 按照以上corners和stroke属性产生的图如下 附赠一个外国人的黑技术~

© 著作权归作者所有

共有 人打赏支持
fantasiter
粉丝 1
博文 116
码字总数 24736
作品 0
青岛
私信 提问
android通过shape.xml制作渐变背景

编写xml文件放到res/drawable-*/下面 最基本的写法如下 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <gradient android:......

一别经年
2014/02/05
0
0
android:shape的使用

Android中常常使用shape来定义控件的一些显示属性,今天看了一些shape的使用,对shape有了大体的了解,稍作总结: 先看下面的代码: solid:实心,就是填充的意思 android:color指定填充的颜...

元来元去
2011/08/01
0
0
自定义shape加上shadow的方法

转自 http://www.linuxeden.com/html/develop/20111015/114984_2.html Android自定义Shape 加上阴影shadow之方法(2) Android:gravity="center" /> Notice that this example uses a nested ......

天高空
2011/12/22
1K
1
Android中shape的使用

本人在美工方面一直是比较白痴的,对于一些颜色什么乱七八糟的非常头痛,但是在Android编程中这又是经常涉及到的东西,没办法,只有硬着头皮上。 Android中常常使用shape来定义控件的一些显示...

程序袁_绪龙
2014/09/25
0
0
Android中shape的使用

本人在美工方面一直是比较白痴的,对于一些颜色什么乱七八糟的非常头痛,但是在Android编程中这又是经常涉及到的东西,没办法,只有硬着头皮上。 Android中常常使用shape来定义控件的一些显示...

Jonson
2014/03/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Deepin 安装wireshark抓包工具

一、关于deepin和wireshark deepin目前已经发展到15.8了,开发Android毫无压力,在四个月的使用时间里,已经非常习惯了。目前想处理一些网络问题,因此尝试在deepin上安装一个抓包工具。dee...

IamOkay
11分钟前
0
0
Docker镜像仓库服务-Nexus

建立云原生集群系统,建立自己的私有Docker镜像仓库必不可少。一方面可以加快多节点部署容器镜像的下载速度,另一方面是为了安全(容器里存储有系统所有的信息、包括密码、数据库等等,切记不...

openthings
23分钟前
1
0
127.0.0.1 和 0.0.0.0 地址的区别

1. IP地址分类 1.1 IP地址表示 IP地址由两个部分组成,net-id和host-id,即网络号和主机号。 net-id:表示ip地址所在的网络号。 host-id:表示ip地址所在网络中的某个主机号码。 即: IP-a...

华山猛男
今天
19
0
解决Unknown host 'd29vzk4ow07wi7.cloudfront.net'. You may need to adjust the proxy settings in Gradle.

把 总项目 下的 build.gradle 中的 两个 jcenter() 用 maven{ url ‘http://maven.aliyun.com/nexus/content/groups/public/’} 代替。...

lanyu96
今天
4
0
基于redis的分布式锁

redisson提供了基于redis的分布式锁实现方式,本文就尝试了下锁的使用方式。Redisson同时还为分布式锁提供了异步执行的相关方法,第二节执行介绍。 一、可重入锁验证 同一个jvm里面同一线程的...

noob_chr
今天
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部