Android背景设置

2016-01-01  本文已影响198人  KuTear

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);
上一篇下一篇

猜你喜欢

热点阅读