Android開發:修改button的邊框和點選改變背景
阿新 • • 發佈:2018-11-11
本文內容
講解如何修改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的透明度