`
hhn_cp
  • 浏览: 4368 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

Android 使用shape绘制控件背景

 
阅读更多

偶尔用到文本框,编辑框,按钮等需要加上纯色的圆角矩形背景,这个时候可以使用shape来定义各种形状。shape可以定义:矩形 rectangle;椭圆 oval;线 line;环 ring。可以在selector,layout等里面使用,有6个子标签。可以在drawable下new Android XML File,Root Element 选择shape。

 

stroke标签:

color:边框颜色 

width:边框宽度 

dashWidth:虚线框的宽度 

dashGap:虚线之间的空隙的宽度

 

其中,当dashGap=0dp时,为实线

关于4.0以上设备虚线会变实线的问题,网上搜索解决方案为:可以把硬件加速关了

line.setLayerType(View.LAYER_TYPE_SOFTWARE, null); 

android:layerType="software" 

 

solid属性:

color:填充颜色

 

corners属性:

radius:四个角的半径 

topRightRadius:右上角的半径 

bottomLeftRadius:右下角的半径 

topLeftRadius:左上角的半径 

bottomRightRadius:左下角的半径

 

gradient属性:

startColor:其实颜色 

centerColor:中间颜色 

endColor:结束颜色 

centerX:中间颜色的相对X坐标(0 -- 1) 

centerY:中间颜色的相对Y坐标(0 -- 1) 

useLevel:(true/false), 是否用作LevelListDrawable的标志 

angle是渐变角度,必须为45的整数倍。0从左到右,90从下到上,180从右到左,270从上到下 

type:渐变模式。 默认线性渐变,可以指定渐变为radial(径向渐变)或者sweep(类似雷达扫描的形式) 

gradientRadius:渐变半径,径向渐变需指定半径。 

 

padding属性:

left:左内边距 

top:上内边距 

right:右内边距 

bottom:下内边距 

 

size属性:

width:宽 

height:高

 

效果图:

 

 

圆角虚线框:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <!-- <solid android:color="#7bc3fd" /> -->
    <!-- 圆角 -->
    <corners android:radius="10dp" />
    <!-- 虚线框 -->
    <stroke
        android:dashGap="3dp"
        android:dashWidth="6dp"
        android:width="2dp"
        android:color="#7bc3fd" />

</shape>

 

虚线:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="line" >

    <size android:height="2dp"/>

    <stroke
        android:dashGap="3dp"
        android:dashWidth="6dp"
        android:width="2dp"
        android:color="#7bc3fd" />

</shape>

 

圆角渐变框:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <corners
        android:bottomLeftRadius="10dp"
        android:bottomRightRadius="10dp"
        android:radius="10dp"
        android:topLeftRadius="10dp"
        android:topRightRadius="10dp" />


    <stroke
        android:width="2dp"
        android:color="#ffffff" />

    <gradient
        android:angle="270"
        android:endColor="#1c1cea"
        android:startColor="#bebeea" />

</shape>
  • 大小: 3.5 KB
分享到:
评论

相关推荐

    Android之shape实现控件圆角、背景等

    Shape元素是Android图形绘制的基础,它主要有三种类型:`&lt;rectangle&gt;`(矩形)、`&lt;oval&gt;`(圆形)和`&lt;line&gt;`(线)。在XML资源文件中,通常会创建一个名为`shape.xml`的文件,放置在`res/drawable`目录下。基本结构...

    Android使用shape绘制阴影图层阴影效果示例

    Android 使用 Shape 绘制阴影图层阴影效果示例 本篇文章主要介绍了 Android 使用 Shape 绘制阴影图层阴影效果示例,通过使用 Shape 可以轻松实现阴影效果。在文章中,我们会详细介绍如何使用 Shape 来实现阴影效果...

    Android-TrapezoidPartsView-梯形控件

    "Android-TrapezoidPartsView-梯形控件"项目就是为了解决这样的需求,它提供了一个能够绘制梯形图像并处理其上的事件的自定义视图组件。下面我们将深入探讨这个项目的细节。 首先,我们要理解什么是梯形。梯形是一...

    安卓自定义控件相关-android-shape-imageview自定义形状的imageview.rar

    然而,`android-shape-imageview`可能并不直接支持这种复杂形状,此时需要自定义`Path`并使用`PathDrawable`来绘制。这涉及到对Android图形绘制的深入了解,包括路径的创建、裁剪操作等。 此外,由于项目中提到的...

    Android shape 绘制图形的实例详解

    Android 绘制图形可以使用shape也可以使用自定义控件的方式,这里我们说下shape的方式去实现。 在绘制图形之前,我们先来了解下shape的几个属性。 shape /* * 线行 圆形 矩形 / android:shape=line android:shape...

    Android-FlycoRoundView-一个扩展原生控件支持圆角矩形框背景的库可以减少相关shape资源文件使用

    FlycoRoundView 是一个专门扩展原生Android控件的库,它的主要功能是为控件添加圆角矩形背景,从而减少对shape资源文件的依赖。通过使用这个库,开发者可以直接在代码中设置圆角大小,无需为每个有圆角需求的视图...

    平行四边形的效果实现

    本篇将详细介绍如何利用ShapeDrawable、shape和canvas在Android中创建平行四边形。 首先,ShapeDrawable是Android SDK提供的一种可绘制对象,它允许开发者自定义形状并对其进行填充和描边。在实现平行四边形效果时...

    Android 自定义时间日期控件

    通过改变`shape`、`selector`等资源文件,可以调整按钮、背景等元素的样式。 6. **项目构建配置** 在`build.gradle`文件中,可能需要引入依赖库以支持某些功能,如动画库。`settings.gradle`用于包含项目的模块。`...

    android自定义Switch控件详解

    总结,自定义Switch控件涉及到对Android控件体系的理解、Drawable资源的使用、自定义属性的定义以及绘制逻辑的实现。通过这种方式,开发者可以完全控制Switch的外观和交互,为用户提供更加个性化的体验。同时,这也...

    Android自定义星星评分控件

    在Android开发中,自定义控件是提升应用用户体验和界面个性化的重要手段。本文将深入探讨如何创建一个自定义的星星评分控件。首先,我们从博客链接(http://blog.csdn.net/a756213932/article/details/51939422)中...

    Android自定义控件:时间轴

    在Android中,我们可以使用自定义View来创建这样的视图,这需要对Android的图形绘制有深入理解,包括Canvas、Paint以及Rect等类的使用。 在描述中提到,该时间轴控件的特点是轴的高度可以随着内容高度自动调整。这...

    Android_自定义切换控件SwitchView

    3. **绘制控件**:在自定义控件的`onDraw()`方法中,我们根据当前状态绘制开关的各个部分。可以使用`Canvas`对象进行画布操作,如画线、画圆、画矩形等。 4. **触摸事件处理**:为了实现滑动切换的效果,我们需要...

    Android自定义控件——圆形进度条

    在这个方法中,我们可以计算进度条的角度,然后使用`canvas.drawArc()`绘制弧形。同时,为了响应进度值的变化,我们需要实现`setProgress()`方法。 ```java public class CircleProgressView extends FrameLayout {...

    android修改控件外观(使用drawable资源)

    在Android开发中,drawable资源是不可或缺的一部分,它主要用于定义图形、形状、背景等视觉元素,还可以用来改变控件的外观。本篇文章将深入探讨如何利用drawable资源来改变Android应用中的控件外观。 首先,...

    android好看的倒计时圆形控件

    圆形的实现通常通过设置View的背景为一个圆形的Shape Drawable,例如一个圆环形状的XML资源文件。这个文件中可以定义圆环的宽度、颜色以及填充样式。圆环的内部和外部半径可以通过代码动态调整,以适应倒计时过程中...

    Android 控件阴影设置

    本文将深入探讨如何使用第三方库以及自定义扩展来实现Android控件的阴影和圆角阴影功能。 首先,Android原生API虽然提供了诸如`View.setElevation()`方法来创建简单的阴影效果,但这在API 21(Lollipop)及以上版本...

    Android-ShapeView方便从XML创建可复用的shape减少了类似ML的shape数量

    总的来说,`ShapeView`是一个非常实用的Android控件,它简化了形状视图的创建和管理,提升了开发效率。通过合理利用`ShapeView`,你可以更高效地构建具有复杂形状的用户界面,同时保持代码的整洁和模块化。

    android_SeekBar竖直显示自定义背景thumb完美Demo(附带解决说明)

    可以通过创建一个圆形或者矩形的Shape资源文件作为thumb的背景,然后在自定义SeekBar中应用这个资源。我们还可以通过设置thumb的偏移量来调整其在SeekBar中的位置。 4. **解决对齐问题**: 当SeekBar竖直显示时,...

    Android控件系列之Shape使用方法

    在本文中,我们将深入探讨如何使用`Shape`及其相关的属性来美化Android应用中的控件。 首先,`Shape`是Android图形绘制中的一种基本元素,通常在`res/drawable`目录下的XML文件中定义。一个`Shape`元素可以包含以下...

    Android-打造万能shape再也不用写很多xml了

    在Android开发中,Shape是用于绘制自定义图形的重要工具,通常通过XML文件来定义各种形状,如矩形、圆角矩形、椭圆或线。然而,当项目中需要使用多种形状时,创建和管理大量的XML文件可能会变得繁琐。本文将介绍如何...

Global site tag (gtag.js) - Google Analytics