android shape图形优化Button效果

  android shape可以让我们通过定义xml文件的方式创建图形,当然只能实现一些比较简单的图形(圆形,矩形,椭圆,线段),但是已经相当不错了,通过shape创建的图形作为控件的背景已经基本可以满足我的简单需求了,而且通过shape创建的图形可以适配各种屏幕。

  下面就用shape定义的图形来优化Button的整体效果。

  定义主布局文件activity_main.xml:

 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     tools:context=".MainActivity" >
 6
 7     <Button
 8         android:layout_height="48dp"
 9         android:layout_width="160dp"
10         android:background="@drawable/button_selector"
11         android:layout_centerInParent="true"
12         android:text="按钮"/>
13 </RelativeLayout>

  定义Button的状态选择器button_selector.xml:

1 <?xml version="1.0" encoding="utf-8"?>
2 <selector
3   xmlns:android="http://schemas.android.com/apk/res/android">
4     <item android:state_focused="false" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/button_shape" />
5     <item android:state_focused="false" android:state_selected="false" android:state_pressed="false" android:drawable="@drawable/button_shape" />
6     <item android:state_pressed="true" android:drawable="@drawable/button_shape_press" />
7     <item android:state_focused="true" android:state_selected="true" android:state_pressed="false" android:drawable="@drawable/button_shape" />
8 </selector>

  定义Button未点击状态的背景button_shape.xml:

 1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
 2 <shape xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:shape="rectangle">
 4     <!--渐变 -->
 5     <gradient android:angle="0" android:endColor="#DCDCE1" android:startColor="#DCDCE1" android:centerColor="#DCDCE1"/>
 6     <!--实心  -->
 7     <solid android:color="#DCDCE1"/>
 8     <!--圆角,可定义四个圆角的大小  -->
 9     <corners android:radius="3dp" />
10     <!--描边, 可设置边的宽度颜色 -->
11     <stroke android:width="1dp" android:color="#C8C8CD" />
12     <!--内边距-->
13     <padding android:bottom="0dp" android:left="0dp" android:right="0dp" android:top="0dp"/>
14 </shape>

  定义Button点击状态的背景button_shape_press.xml:

1 <?xml version="1.0" encoding="UTF-8" standalone="no"?>
2 <shape xmlns:android="http://schemas.android.com/apk/res/android"
3     android:shape="rectangle">
4     <gradient android:angle="0" android:endColor="#C8C8CD" android:startColor="#C8C8CD" android:centerColor="#C8C8CD"/>
5     <solid android:color="#C8C8CD"/>
6     <corners android:radius="3dp"/>
7     <stroke android:width="1dp" android:color="#C8C8CD" />
8     <padding android:bottom="0dp" android:left="0dp" android:right="0dp" android:top="0dp"/>
9 </shape>

最终效果如下图:

android shape图形优化Button效果,布布扣,bubuko.com

时间: 2024-08-05 11:16:08

android shape图形优化Button效果的相关文章

android shape(如自定义Button)

Shape 前言:有时候会去自己去画一些Button的样式来展现在UI当中,其中主要用到的就是Shape 先来看一段代码: 1 <?xml version="1.0" encoding="utf-8"?> 2 <shape xmlns:android="http://schemas.android.com/apk/res/android" 3 android:shape="rectangle" > 4

Android之用自定义的shape去实现shadow效果

直接上xml文件, 并且附上相应的解析: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true"> <layer-list> <!-- 相当于p

android shape的使用详解以及常用效果(渐变色、分割线、边框、半透明阴影效果等)

shape使用.渐变色.分割线.边框.半透明.半透明阴影效果. 首先简单了解一下shape中常见的属性.(详细介绍参看 api文档) 转载请注明:Rflyee_大飞:http://blog.csdn.net/rflyee/article/details/20785495 <?xml version="1.0" encoding="utf-8"?><shape    xmlns:android="http://schemas.android

android Shape Drawable美化圆角图形

ShareDrawable资源 shareDrawable资料用于定义一个基本的集合图形,它在xml资源文件中,使用<shap.../>根元素定义,使用android:shape属性定义集合图形类形.shareDrawable可以定义矩形,圆形,椭圆形,线形等几种图形. 下面举个例子: 在shape_textview.xml文件中: 1 <?xml version="1.0" encoding="utf-8"?> 2 <shape xm

Android Button Maker(在线生成android shape xml文件的工具),真方便!

直接上地址:http://angrytools.com/android/button/ 使用起来超简单,如图: Android Button Maker is online tool to generate buttons code for Android Apps. Android API provide Drawable Resources where XML file defines geometric shape, including colors, border and gradien

超炫的Android Path Button效果

超炫的Android Path Button效果 一款超炫的Android Path Button效果源码,代码很简洁只有一个文件,改起来很容易,希望能对大家有所帮助. 下载地址:http://www.devstore.cn/code/info/1015.html 运行截图:   

[转]Android Shape渲染的使用(经典,学习研究不后悔)

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://mzh3344258.blog.51cto.com/1823534/1215749 感觉好久都没有写博文了,感觉自己变懒了,真对不起…-_-…   也有部分原因是因为我想写的东 西网上已经有了,再加上还有很多方面小马我也正在学习,所以….这段时间一直暂停更新我的博客文 章,看到博客的访问量一天天的增加,很开心 ...O_O...这一阵子也看了各种各样的书籍,技 术类的.非技术类的

Android 水波纹点击效果(Ripple Effect)

上周Android发布了Android M的Preview版本.但想必Android5.0很多炫酷效果,多数开发者还没有使用过,那更不要说广大用户了. 本文介绍的是Android5.0中其中一个炫酷的效果,点击水波纹扩散效果(Ripple Effect). 以下介绍的实现方式都是调用Android5.0的新API,并非自定义实现,所以支持在Android5.0的设备. 而大家想兼容低系统版本的话,就需要新建v21(即Android5.0)的Resource Directory. 圆角背景的水波纹

Android背景资源优化—1

UI优化 按钮背景扁平化处理 定义一个黑色边框,白色背景的图片作为背景 black_border.xml <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" > <corners android:radius="5dp" /> <