如果你对Android系统自带的UI控件感觉不够满意,可以尝试下自定义控件,我们就以Button为例,很早以前Android123就写到过Android Button按钮控件美化方法里面提到了xml的selector构造。当然除了使用drawable这样的图片外今天Android开发网谈下自定义图形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://schemas.android.com/apk/res/android">
<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>
注意Android123提示大家,以上几个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 中 shape 的使用 Android 中的 shape 是一种定义控件显示属性的方式,通过使用 shape 可以实现控件的背景、边框、圆角、渐变...在实际开发中,我们可以根据需要来定义不同的 shape,实现控件的个性化和美化。
在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。为了提升用户体验和界面设计的美观性,我们常常需要对ListView进行定制化,包括设置边框和实现圆角效果。本文将深入探讨如何在Android中实现...
本教程将详细讲解如何创建登录和注册界面,并使用`selector`和`shape`来提升其视觉效果,以及如何通过集成`Carview`组件展示一个宝宝相册。 首先,我们要理解`selector`在Android中的作用。`selector`是一种状态...
在本文中,我们将深入探讨如何使用`Shape`及其相关的属性来美化Android应用中的控件。 首先,`Shape`是Android图形绘制中的一种基本元素,通常在`res/drawable`目录下的XML文件中定义。一个`Shape`元素可以包含以下...
每个控件都有其特定的属性、样式和交互设置,熟练掌握这些控件的使用,能极大地提升原型设计的效率和质量。在实际操作中,设计师还会结合使用Axure的动态面板、条件逻辑、数据绑定等功能,使原型更加生动和真实。
`tshape`通常用于美化界面,分隔不同区域,或者作为其他控件的背景。 3. **button(Button Control)** `button`是最常见的用户交互控件,它代表一个可点击的按钮。`Caption`属性设置按钮上显示的文字,`OnClick`...
可以这样说,shape和selector在美化控件中的作用是至关重要的。 1.Shape 简介 作用:XML中定义的几何形状 位置:res/drawable/文件的名称.xml 使用的方法: Java代码中:R.drawable.文件的名称 XML中:android:...
其实,美化按钮并不是什么难事儿,简单地说,shape 就是用来自己画图用的。 shape 中有很多属性可以用来美化按钮,例如 gradient 可以让按钮有一个渐变效果,startColor 是开始的颜色,endColor 是最后的颜色,...
在 Android 中,我们可以使用 style 来美化控件。例如,我们可以在 styles.xml 中添加以下代码: ```xml <item name="android:layout_width">wrap_content <item name="android:layout_height">wrap_content ...
可以这样说,shape和selector在美化控件中的作用是至关重要的。 1:Selector drawable的item中可以有以下属性: android:drawable=”@[package:]drawable/drawable_resource” android:state_pressed=[“true” |...
本篇文章将深入探讨如何构建一个时尚、简洁且具有动态功能的EditText,以及如何在登录界面中利用shape来美化布局。 首先,我们要了解EditText的基本属性。例如,`android:hint`用于设置提示文本,`android:input...
综上所述,Android中实现扁平按钮美化涉及到自定义背景、使用Material Design库、状态切换效果、动画效果以及字体和图标的调整。通过这些方法,开发者可以创建出符合扁平化设计原则,且具有优秀用户体验的Android...
Shape和Selector是两个非常重要的元素,它们可以帮助开发者自定义和美化各种控件,如按钮、文本框等。本文将深入讲解这两个概念,并通过实例代码展示如何结合使用。 首先,我们来看Shape。Shape是Android XML资源...
描述中提到,该源代码可以实现通过菜单来改变窗口的形状,这意味着开发者可能使用了自定义控件或者窗体重绘技术来实现这一效果。在VC中,这可能涉及到WM_PAINT消息的处理,以及对CDC(Device Context)类的使用,以...
它通过高度抽象化的功能函数,使开发者能够用少量的代码实现复杂的打印需求,从而减少了对打印知识的依赖,提高了开发效率。 #### 系统文件 Lodop的发布包由三个主要的系统文件组成: - **install_lodop.exe**:...
在这个场景中,制作者使用了基础的图形处理类控件,如Shape、Picture和Label,来构建一个视觉上吸引人的窗体。在Windows应用程序开发中,这些控件是非常基本但重要的元素。 Shape控件允许开发者在窗体上绘制不同...