`
44289533
  • 浏览: 67226 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

android 使用xml制作背景图片(shape的用法)

阅读更多
此方法可以背景图和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使用方法.docx

    在Android开发中,为了创建美观且高效的用户界面,开发者经常需要使用XML来定义图形和形状。`Graphics_shape`是Android SDK提供的一种强大的工具,允许通过XML文件定义各种形状,如矩形、椭圆、线性渐变、径向渐变等...

    Android-android-shape-imageview-图片圆角三角五角圆形多角

    3. **圆形图片**:要将图片转换为圆形,最简单的方法是使用`&lt;shape&gt;`标签的`&lt;solid&gt;`和`&lt;corners&gt;`属性,同时设置`android:radius`为图像宽度的一半。这样会得到一个完美的圆形ImageView。 4. **自定义多边形**:...

    android shape样式

    这篇内容将深入探讨Android Shape的使用方法及其相关知识点。 首先,Shape元素是Android的Drawable类的一个子类,通常在res/drawable目录下的XML文件中定义。Shape的基本结构如下: ```xml &lt;shape xmlns:android=...

    android动态改变shape的颜色值

    在实际开发中,我们还可能遇到更复杂的需求,比如渐变色、图片背景等,这时候可能需要使用`GradientDrawable`的其他方法,如`setGradientType`、`setColors`等。同时,为了兼容低版本Android系统,可能需要使用`...

    Android中使用xml文件定义颜色资源.pdf

    总结来说,Android中使用XML文件定义颜色资源是一种规范且灵活的方法,它能帮助开发者更好地组织和重用颜色信息。通过在`colors.xml`中定义颜色,然后在布局文件、`drawable`资源或代码中引用,可以提高代码的可读性...

    Android 实现图片/背景(半部分&全部)圆角 源码

    总结来说,Android实现图片或背景的圆角效果主要依靠XML drawable和自定义View。XML方式适合简单场景,而自定义View则能应对更多复杂需求。在项目中灵活运用这两种方法,可以为你的应用增添更多设计上的可能性。记得...

    Android背景图片

    本主题将深入探讨如何在Android中处理和使用背景图片,以及与之相关的技术要点。 首先,Android中的背景图片通常用于装饰Activity、布局或者单个控件,如按钮、文本视图等。我们可以使用XML资源文件或者直接使用...

    Android-shape标签的使用

    下面我们将详细探讨Shape标签的使用方法以及如何通过它来提升Android应用的界面美观度。 首先,我们来看看Shape标签的基本结构: ```xml &lt;shape xmlns:android="http://schemas.android.com/apk/res/android"&gt; ...

    Android shape 属性深入用法

    本篇文章将深入探讨Android Shape属性的使用方法,帮助开发者们更好地利用这一强大的功能。 首先,Shape元素是定义在`&lt;shape&gt;`标签内的,它有四个基本的子元素:`&lt;solid&gt;`, `&lt;stroke&gt;`, `&lt;corners&gt;`, 和 `&lt;padding&gt;...

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

    下面我们将详细探讨`ShapeView`的主要特点和使用方法。 首先,`ShapeView`的核心在于它允许你在XML布局文件中直接定义形状的属性,如颜色、边框宽度、圆角半径等。例如,你可以创建一个矩形形状,设置填充色和边框...

    Android Drawable 全部 xml 元素和属性用法

    本篇将深入探讨Android Drawable XML元素和属性的用法。 1. **Drawable XML概述** Android的Drawable XML允许开发者在代码之外定义图形对象,如颜色、形状、位图等,以提高可维护性和重用性。XML文件通常存放在res...

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

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

    android shape

    今天,我们将详细地介绍 Shape 的使用方法和相关知识点。 首先,看下面的代码: ```xml &lt;shape&gt; &lt;!-- 实心 --&gt; &lt;solid android:color="#ff9d77"/&gt; &lt;!-- 渐变 --&gt; android:startColor="#ff8c00" android:...

    Shape的详细使用方式

    ShapeDemo示例可能包含了以上各种Shape的实际应用,通过查看和学习这个示例,开发者可以更好地理解和掌握Shape的使用方法。 总结,Shape是Android UI设计中的重要工具,通过掌握其不同形状的创建和属性设置,可以...

    Android_shape

    在本文中,我们将深入探讨`shape`在Android中的使用方法,以及如何通过`shape`来实现丰富的UI设计。 `shape`元素通常在XML文件中定义,该文件被放置在项目的`res/drawable`目录下。一个基本的`shape`元素结构如下:...

    Android Shape实例

    在Android开发中,Shape是XML绘图的一种方式,它允许开发者定义各种形状并用作视图的背景。本文将深入探讨Android Shape的实现及其在实际应用中的实例。 首先,我们来了解一下Shape的基本元素。在Android的`res/...

    Android自定义RatingBar的背景图片

    本文将详细介绍如何自定义RatingBar的背景图片以及解决在Android 6.0(API级别23)设备上可能出现的显示不全问题。 首先,我们需要了解RatingBar的基本结构。RatingBar本质上是一个水平的ProgressBar,它通过显示一...

    android中用xml文件实现带边框背景效果的方法

    前言 在项目开发的过程中,有时我们会用到带边框的纯色背景图,类似效果如下: 一般的,我们会让设计给做个背景图,然后自己用.9处理一下,这样有些麻烦,... &lt;shape android:shape=rectangle&gt; &lt;solid android:

    平行四边形的效果实现

    在Android的资源目录下,我们可以创建一个名为`parallelogram_shape.xml`的shape文件。虽然shape元素不直接支持平行四边形,但可以通过定义一个矩形并应用变换来模拟。例如,我们可以定义一个矩形,然后在代码中...

Global site tag (gtag.js) - Google Analytics