此方法可以背景图和Button渐变效果的Button按钮。代码如下:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle"
>
<!-- 实心 -->
<solid android:color="#ffffff"/>
<!-- 描边 -->
<stroke
android:width="4dp"
android:color="#00ff00" />
<!-- 圆角 -->
<corners
android:radius="1dp" />
<padding
android:left="2dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
solid:实心,就是填充的意思
android:color指定填充的颜色
gradient:渐变
android:startColor和android:endColor分别为起始和结束颜色,ndroid:angle是渐变角度,必须为45的整数倍。
另外渐变默认的模式为android:type="linear",即线性渐变,可以指定渐变为径向渐变,android:type="radial",径向渐变需要指定半径android:gradientRadius="50"。
stroke:描边
android:width="2dp" 描边的宽度,android:color 描边的颜色。
我们还可以把描边弄成虚线的形式,设置方式为:
android:dashWidth="5dp"
android:dashGap="3dp"
其中android:dashWidth表示'-'这样一个横线的宽度,android:dashGap表示之间隔开的距离。
corners:圆角
android:radius为角的弧度,值越大角越圆。
我们还可以把四个角设定成不同的角度,方法为:
<corners
android:topRightRadius="20dp" 右上角
android:bottomLeftRadius="20dp" 右下角
android:topLeftRadius="1dp" 左上角
android:bottomRightRadius="0dp" 左下角
/>
这里有个地方需要注意,bottomLeftRadius是右下角,而不是左下角,这个有点郁闷,不过不影响使用,记得别搞错了就行。
还有网上看到有人说设置成0dp无效,不过我在测试中发现是可以的,我用的是2.2,可能修复了这个问题吧,如果无效的话那就只能设成1dp了。
padding:间隔
这个就不用多说了,XML布局文件中经常用到。
然后设置为背景就可以了。
下面是自定义Button实现几种事件改变button背景色。
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape>
<!-- 渐变 -->
<gradient
android:startColor="#ff8c00"
android:endColor="#FFFFFF"
android:type="radial"
android:gradientRadius="50" />
<!-- 描边 -->
<stroke
android:width="2dp"
android:color="#dcdcdc"
android:dashWidth="5dp"
android:dashGap="3dp" />
<!-- 圆角 -->
<corners
android:radius="2dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item android:state_focused="true" >
<shape>
<gradient
android:startColor="#ffc2b7"
android:endColor="#ffc2b7"
android:angle="270" />
<stroke
android:width="2dp"
android:color="#dcdcdc" />
<corners
android:radius="2dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item>
<shape>
<solid android:color="#ff9d77"/>
<stroke
android:width="2dp"
android:color="#fad3cf" />
<corners
android:topRightRadius="5dp"
android:bottomLeftRadius="5dp"
android:topLeftRadius="0dp"
android:bottomRightRadius="0dp"
/>
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
</selector>
运行效果图如下:
分享到:
相关推荐
android XML Graphics_shape使用方法 可以帮你打造更好的android界面
本文实例讲述了Android编程使用自定义shape实现shadow阴影效果的方法。分享给大家供大家参考,具体如下: 直接上xml文件, 并且附上相应的解析: <?xml version=1.0 encoding=utf-8?> <selector xmlns:android...
前言 在项目开发的过程中,有时我们会用到带边框的纯色背景图,类似效果如下: 一般的,我们会让设计给做个背景图,然后自己用.9处理一下,这样有些麻烦,... <shape android:shape=rectangle> <solid android:
因为没有美工, 所以只能自己动手了。 在layout文件夹里的xml 写 方法1:在layout里面的布局xml 文件里加...方法2:在drawable里面用shape新建一个xml 然后在 layout 里的布局文件里引用 这种方法 可以 多处引用同一个
shape和selector是Android UI设计中经常用到的,...使用的方法: Java代码中:R.drawable.文件的名称 XML中:android:background=”@drawable/文件的名称” 属性: <shape> android:shape=[“rectangle” | “oval” |
无需任何代码,直接加入bl标签属性即可,与原生视图无缝衔接,具体使用方法以及属性内容请查看重要的事情说3遍!!! 示例效果 使用效果完全和原生shape选择器一样,但是只需要直接在xml中加入属性即可,例如 <...
shape和selector是Android UI设计中经常用到的,比如...使用的方法: Java代码中:R.drawable.文件的名称 XML中:android:background=”@drawable/文件的名称” 属性: <shape> android:shape=[“rectangle” |
本文实例讲述了Android使用shape使组件呈现出特殊效果的方法。分享给大家供大家参考,具体如下: 使用到的布局文件 <?xml version=1.0 encoding=utf-8?> <LinearLayout xmlns:android=...
本例知识点:Dialog透明,圆角,及GridView的简单用法。 <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > ...
1.背景选择器(位于res/drawable/,使用方法:android:background=”@drawable/XXX”) 代码如下: <?xml version=”1.0″ encoding=”utf-8″?> <selectorxmlns android=”...
在开发中我们经常要使用图片或者drawable文件夹下的xml,来实现一些效果,Drawable的用法都和xml相关,我们可以使用shape、layer-list等标签绘制一些背景,还可以通过selector标签定义View的状态的效果等。...
当然除了使用drawable这样的图片外今天Android开发网谈下自定义图形shape的方法,对于Button控件Android上支持以下几种属性shape、gradient、stroke、corners等。 我们就以目前系统的Button的selector为例说下: ...
DevShapeUtils开源库 > 项目初衷: 公司项目样式文件n 1个,多人开发文件命名各种各样,每次都要搜索半天...2.1 Android Studio导入方法,添加Gradle依赖 在项目的 build.gradle 添加: android { defaultConfig { ...
xml布局属性 属性值 对应方法 说明 custom:sivShape Circle、RoundRect void setImageShape(ImageShape shape) 设置图像形状 ImageShape getImageShape() 获取图像形状 custom:sivRoundRectRadius dimension...
在开发过程中有时需要将图片显示成圆角图片,一般我们可以通过在xml中设置drawable shape即可,但今天我给出另一种方法,用java代码动态去设置圆角,顺便做个简单的笔记。 主要原理是使用系统自带api: ...
写这篇文章只是对今天所学的知识进行加深印象,对ViewPager的一些处理,比如适配器和各个方法的作用等。 先看效果图 这里我是在xml中写的圆点 Drawable文件夹下的xml代码: Shape_yes.xml: <?xml version=1.0 ...
2.2 Android Studio高级使用技巧 19 2.2.1 更新SDK 20 2.2.2 Android Studio常用界面 21 2.2.3 导入Android Studio工程 23 2.3 ADB命令使用技巧 24 2.3.1 ADB基础 24 2.3.2 ADB常用命令 25 2.3.3 ADB命令来源...
本文实例讲述了Android实现给TableLayou绘制边框的方法。分享给大家供大家参考,具体如下: 效果如下: 思路:使用share作为背景显示边框 步骤: 1.在res/drawable文件夹下建立table_frame_gray.xml文件: <?...
最近做 android 项目遇到这个问题,为了...使用 9.png, 不要用png, 否则图片会模糊, 花掉 在文件夹 drawable 用selector 建立一个xml 文件 <!-- drawable/edittext_shape.xml --> <selector xmlns:androi