`
44289533
  • 浏览: 64814 次
  • 性别: 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界面

    Android编程使用自定义shape实现shadow阴影效果的方法

    本文实例讲述了Android编程使用自定义shape实现shadow阴影效果的方法。分享给大家供大家参考,具体如下: 直接上xml文件, 并且附上相应的解析: &lt;?xml version=1.0 encoding=utf-8?&gt; &lt;selector xmlns:android...

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

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

    android利用xml实现分割线

    因为没有美工, 所以只能自己动手了。 在layout文件夹里的xml 写 方法1:在layout里面的布局xml 文件里加...方法2:在drawable里面用shape新建一个xml 然后在 layout 里的布局文件里引用 这种方法 可以 多处引用同一个

    Android开发教程之shape和selector的结合使用

    shape和selector是Android UI设计中经常用到的,...使用的方法: Java代码中:R.drawable.文件的名称 XML中:android:background=”@drawable/文件的名称” 属性: &lt;shape&gt; android:shape=[“rectangle” | “oval” |

    BackgroundLibrary:一个通过标签直接生成形状的框架,无需再次编写shape.xml(通过标签直接生成shape,无需再写shape.xml)

    无需任何代码,直接加入bl标签属性即可,与原生视图无缝衔接,具体使用方法以及属性内容请查看重要的事情说3遍!!! 示例效果 使用效果完全和原生shape选择器一样,但是只需要直接在xml中加入属性即可,例如 &lt;...

    Android shape和selector 结合使用实例代码

    shape和selector是Android UI设计中经常用到的,比如...使用的方法: Java代码中:R.drawable.文件的名称 XML中:android:background=”@drawable/文件的名称” 属性: &lt;shape&gt; android:shape=[“rectangle” |

    Android使用shape使组件呈现出特殊效果的方法

    本文实例讲述了Android使用shape使组件呈现出特殊效果的方法。分享给大家供大家参考,具体如下: 使用到的布局文件 &lt;?xml version=1.0 encoding=utf-8?&gt; &lt;LinearLayout xmlns:android=...

    Android源码: 透明圆角Dialog

    本例知识点:Dialog透明,圆角,及GridView的简单用法。 &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" &gt; ...

    Android Selector和Shape的使用方法

    1.背景选择器(位于res/drawable/,使用方法:android:background=”@drawable/XXX”) 代码如下: &lt;?xml version=”1.0″ encoding=”utf-8″?&gt; &lt;selectorxmlns android=”...

    Android中一种巧妙的drawable.xml替代方案分享

    在开发中我们经常要使用图片或者drawable文件夹下的xml,来实现一些效果,Drawable的用法都和xml相关,我们可以使用shape、layer-list等标签绘制一些背景,还可以通过selector标签定义View的状态的效果等。...

    Android Shape控件美化实现代码

    当然除了使用drawable这样的图片外今天Android开发网谈下自定义图形shape的方法,对于Button控件Android上支持以下几种属性shape、gradient、stroke、corners等。  我们就以目前系统的Button的selector为例说下: ...

    Android代码-DevShapeUtils

    DevShapeUtils开源库 &gt; 项目初衷: 公司项目样式文件n 1个,多人开发文件命名各种各样,每次都要搜索半天...2.1 Android Studio导入方法,添加Gradle依赖 在项目的 build.gradle 添加: android { defaultConfig { ...

    Android代码-ShapeImageView

    xml布局属性 属性值 对应方法 说明 custom:sivShape Circle、RoundRect void setImageShape(ImageShape shape) 设置图像形状 ImageShape getImageShape() 获取图像形状 custom:sivRoundRectRadius dimension...

    Android如何设置圆角图片

    在开发过程中有时需要将图片显示成圆角图片,一般我们可以通过在xml中设置drawable shape即可,但今天我给出另一种方法,用java代码动态去设置圆角,顺便做个简单的笔记。 主要原理是使用系统自带api: ...

    Android 使用ViewPager实现轮播图效果

    写这篇文章只是对今天所学的知识进行加深印象,对ViewPager的一些处理,比如适配器和各个方法的作用等。 先看效果图 这里我是在xml中写的圆点 Drawable文件夹下的xml代码: Shape_yes.xml: &lt;?xml version=1.0 ...

    android群雄传

    2.2 Android Studio高级使用技巧 19 2.2.1 更新SDK 20 2.2.2 Android Studio常用界面 21 2.2.3 导入Android Studio工程 23 2.3 ADB命令使用技巧 24 2.3.1 ADB基础 24 2.3.2 ADB常用命令 25 2.3.3 ADB命令来源...

    Android实现给TableLayou绘制边框的方法

    本文实例讲述了Android实现给TableLayou绘制边框的方法。分享给大家供大家参考,具体如下: 效果如下: 思路:使用share作为背景显示边框 步骤: 1.在res/drawable文件夹下建立table_frame_gray.xml文件: &lt;?...

    Android定制自己的EditText轻松改变底线颜色

    最近做 android 项目遇到这个问题,为了...使用 9.png, 不要用png, 否则图片会模糊, 花掉 在文件夹 drawable 用selector 建立一个xml 文件 &lt;!-- drawable/edittext_shape.xml --&gt; &lt;selector xmlns:androi

Global site tag (gtag.js) - Google Analytics