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);