1. 程式人生 > >Android開發:修改button的邊框和點選改變背景

Android開發:修改button的邊框和點選改變背景

本文內容

講解如何修改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的透明度