Android开发之给你的Button加个背景

在Android应用中,绝大部分情况下,按钮都有按下变色的效果,这种效果主要都是借助于Android里面的 StateListDrawable来实现的,它可以设置多种状态,并分别为每种状态设置相应的drawable,这个drawable有两种方式来实现:1、准备多张图片 2、准备多个 ShapeDrawable。下面用第二种方式来实现一下按钮变色的效果。

一、准备两个ShapeDrawable

1、btn_shape.xml,正常状态下的背景图

"1.0" encoding="utf-8"?>
"http://schemas.android.com/apk/res/android">
    "5dp" />
    "@color/material_green" />

复制代码

2、btn_shape_press.xml ,按下状态下的背景图

"1.0" encoding="utf-8"?>
"http://schemas.android.com/apk/res/android">
    "5dp" />
    "@color/material_dark_green" />

复制代码

其中,corners:圆角度数, solid:填充色

二、准备StateListDrawable

btn_shape_press.xml

"1.0" encoding="utf-8" ?>
"http://schemas.android.com/apk/res/android">
    
    "@drawable/btn_shape_press" android:state_pressed="true" />
    
    "@drawable/btn_shape" />
  
复制代码

三、将StateListDrawable设置为Button的背景

"1.0" encoding="utf-8"?>
"http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    

复制代码

测试效果

转载于:https://juejin.im/post/5a3113965188250a5719bbb5

你可能感兴趣的:(Android开发之给你的Button加个背景)