当然除了使用drawable这样的图片外今天谈下自定义图形shape的方法,对于Button控件Android上支持以下几种属性shape、gradient、stroke、corners等。
我们就以目前系统的Button的selector为例说下:
<shape>
<gradient
android:startColor="#ff8c00"
android:endColor="#FFFFFF"
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>
对于上面,这条shape的定义,分别为渐变,在gradient中startColor属性为开始的颜色,endColor为渐变结束的颜色,下面的
angle是角度。接下来是stroke可以理解为边缘,corners为拐角这里radius属性为半径,最后是相对位置属性padding。
对于一个Button完整的定义可以为
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://www.norkoo.com">
<item android:state_pressed="true" >
<shape>
<gradient
android:startColor="#ff8c00"
android:endColor="#FFFFFF"
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 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>
<gradient
android:startColor="#ff9d77"
android:endColor="#ff9d77"
android:angle="270" />
<stroke
android:width="2dp"
android:color="#fad3cf" />
<corners
android:radius="2dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
</selector>
注意!提示大家,以上几个item的区别主要是体现在state_pressed按下或state_focused获得焦点时,当当来判断显示什么类型,而没有state_xxx属性的item可以看作是常规状态下。
分享到:
相关推荐
### Android控件美化之Shape的使用 在Android开发过程中,为了提升用户体验,界面美观是非常重要的一个环节。在美化界面的过程中,`Shape`是一种非常实用且灵活的工具,它可以帮助开发者轻松实现各种各样的视觉效果...
本文将深入探讨如何使用Shape控件来美化Android应用。 首先,Shape控件是Android中的一个Drawable类型,它可以通过`<shape>`标签在XML中定义。Shape支持多种形状,如矩形、椭圆、线和路径,但最常见的用法是创建...
在Android开发中,我们经常需要对UI控件进行自定义美化,以提升应用的视觉效果和用户体验。Shape是Android中一个非常实用的元素,它允许开发者定义自定义的图形样式,包括填充颜色、渐变、描边、圆角以及内部间距等...
在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。为了提升用户体验和界面设计的美观性,我们常常需要对ListView进行定制化,包括设置边框和实现圆角效果。本文将深入探讨如何在Android中实现...
在本文中,我们将深入探讨如何使用`Shape`及其相关的属性来美化Android应用中的控件。 首先,`Shape`是Android图形绘制中的一种基本元素,通常在`res/drawable`目录下的XML文件中定义。一个`Shape`元素可以包含以下...
Android 中 shape 的使用 Android 中的 shape 是一种定义控件显示属性的方式,通过使用 shape 可以实现控件的背景、边框、圆角、渐变...在实际开发中,我们可以根据需要来定义不同的 shape,实现控件的个性化和美化。
buttons 在 Android 中是一个非常常见的控件,但是如果不加以美化,按钮的外观会显得很丑。其实,美化按钮并不是什么难事儿,简单地说,shape 就是用来自己画图用的。 shape 中有很多属性可以用来美化按钮,例如 ...
可以这样说,shape和selector在美化控件中的作用是至关重要的。 1.Shape 简介 作用:XML中定义的几何形状 位置:res/drawable/文件的名称.xml 使用的方法: Java代码中:R.drawable.文件的名称 XML中:android:...
可以这样说,shape和selector在美化控件中的作用是至关重要的。 1:Selector drawable的item中可以有以下属性: android:drawable=”@[package:]drawable/drawable_resource” android:state_pressed=[“true” |...
在 Android 中,我们可以使用 shape 来美化 Button 控件。例如,我们可以在 res/drawable 中新建一个 btn_all_shape.xml 文件,内容如下: ```xml <shape xmlns:android=...
Button是Android SDK中的一个标准控件,用于用户交互。在XML布局文件中,我们可以通过设置`android:background`属性来改变按钮的外观。默认情况下,按钮具有一定的立体感,但我们可以通过自定义背景资源来实现扁平化...
在描述中提到的`Carview`组件,通常指的是CarouselView,这是一个Android轮播图控件,可以用来展示一系列图片或者内容,比如宝宝相册中的照片。集成`CarouselView`需要添加依赖库,并在布局文件中添加控件,设置数据...
在Android应用开发中,ListView是常用的视图组件,用于展示大量数据列表,而圆角ListView则是对默认样式的一种美化,可以提升用户界面的视觉效果。本文将深入探讨如何实现一个带有圆角的ListView,并解决其与...
内容概要:了解基础Android组件的使用,以及shape和selector组件美化。 适合人群:初学Android开发的小萌新,可以利用这个小案例巩固Android基础控件的使用。 能学到什么:可以加深Android布局的使用,以及基础组件...
Shape和Selector是两个非常重要的元素,它们可以帮助开发者自定义和美化各种控件,如按钮、文本框等。本文将深入讲解这两个概念,并通过实例代码展示如何结合使用。 首先,我们来看Shape。Shape是Android XML资源...
2. 设置圆角编辑框EditView:文件提到了通过在drawable文件夹中新建一个shape.xml文件来定义圆角的形状,然后在EditText控件中通过android:background属性引用这个形状。这是进行UI美化的一个常见做法,通过自定义...
【Android经典Demo源码集】是一份集合了多种Android应用开发中的典型示例代码资源,旨在帮助初学者和开发者深入理解和运用Android控件。这份源码集覆盖了多个关键领域,包括媒体处理、数据存储、界面设计以及设备...
在Android开发中,EditText是用于用户输入文本的基本控件,它是TextView的一个子类,提供了丰富的交互功能。在创建安卓高级XML输入框时,我们通常会对其进行定制,使其更符合应用的UI风格和交互需求。本篇文章将深入...
本文将深入探讨几个关键的Android UI设计技巧,包括TabHost的使用、ListView美化、控件美化、自定义组件以及自定义属性和图形。 首先,让我们详细讨论TabHost的使用。TabHost是Android提供的一种用于创建多标签界面...