Android开发:修改button的边框和点击改变背景

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/shakdy/article/details/80573190

本文内容

讲解如何修改button的边框,点击button改变背景颜色

打开在res/values目录下的color.xml文件,添加代码:

<!-- 绿色 -->
<color name="green">#008000</color>
<!-- 酸橙色 -->
<color name="mediumspringgreen">#00FA9A</color>

在res/drawable目录下创建shape_green_bg.xml文件

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
    <!--solid用以指定内部填充色-->
    <solid android:color="@color/green"/>
      <!--可以定义描边的宽度,颜色,虚实线等-->
    <stroke
        android:width="0.01dp"
        android:color="@color/grey" />
    <corners 
        android:radius="50dp"/>
</shape>

在res/drawable目录下创建shape_little_green_bg.xml文件

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <solid android:color="@color/mediumspringgreen"/>
    <corners 
        android:radius="50dp"/>
</shape>

在res/drawable目录下创建selector_green_bg.xml文件

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

修改button的边框和点击改变背景
在res/layout目录下创建activity_test.xml文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:padding="10dp"
    tools:context="com.happycomehealthy.module.test.TestActivity">

    <Button
        android:id="@+id/btn1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="10dp"
        android:background="@drawable/selector_green_bg"
        android:text="我是不一样的按钮"/>

</LinearLayout>

创建TestActivity.java文件



import android.os.Bundle;

import android.support.v7.app.AppCompatActivity;

import com.happycomehealthy.R;
import com.happycomehealthy.module.main.MainActivity;


public class TestActivity extends AppCompatActivity {
    private String TAG = MainActivity.class.getSimpleName();

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_test);

    }

}

设置透明背景颜色

在res/drawable目录下创建shape_transparent_bg.xml文件

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >

    <solid android:color="#50FFFFFF"/>
    <corners 
        android:radius="6dp"/>
</shape>

一般的设置#FFFFFF六位数不同,这个#50FFFFFF有八位数
后面六位数代表颜色为白色
前面两个数字是从00~99的两位数,代表了透明度
这里是50,即百分之50的透明度

猜你喜欢

转载自blog.csdn.net/shakdy/article/details/80573190