美文网首页
Android背景设置

Android背景设置

作者: KuTear | 来源:发表于2016-01-01 22:30 被阅读198次

    layout: post
    title: Android背景设置
    date: 2015-08-15
    categories: blog
    tags: [Android,background]
    category: Android
    description: 介绍在Android开发中常用的为View设置背景


    在安卓开发的过程中,我们很多时候都需要设置背景的颜色,比如ListView的item的颜色在选中与不选中时候会是不同的.又如我们需要我Button的背景图设置圆角以及不同的状态颜色.

    selector

    最简单的用法就是下面这样,给不同的状态设置不同的颜色

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:state_pressed="false" android:drawable="@color/color_fffafafa"/>
        <item android:state_pressed="true" android:drawable="@color/color_ffe9e9e9"/>
    </selector>
    

    有的时候我们不仅要设置颜色还要设置圆角等属性,就需要下面的方式

    <?xml version="1.0" encoding="utf-8"?>  
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
       <item  android:state_pressed="true">
           <shape android:shape="rectangle">
               <corners android:radius="@dimen/ui_radius" />
               <solid android:color="@color/teal_900"/>
           </shape>
       </item>
       <item android:state_pressed="false">
           <shape android:shape="rectangle">
               <corners android:radius="@dimen/ui_radius" />
               <solid android:color="@color/teal_500"/>
           </shape>
       </item>
    </selector>
    

    动态设置背景与圆角度数

    有的时候需要动态设置背景颜色与圆角度数,就需要在Java里面添加,在SDK中有这样一个类GradientDrawable,他可以动态的设置.

    GradientDrawable gdDefault = new GradientDrawable();
    gdDefault.setColor(Color.BLUE);
    gdDefault.setCornerRadius(14);
    view.setBackground(gdDefault);
    

    相关文章

      网友评论

          本文标题:Android背景设置

          本文链接:https://www.haomeiwen.com/subject/gnrwhttx.html