我想要做一個button,按下去可以變色

首先,到drawable 建一個 btn_primary.xml

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

<!-- 按壓時 -->
<item android:state_pressed="true">
    <!--rectangle 長方形 可以畫出直角形,圓角形,弧形等-->
<shape android:shape="rectangle">
        <!--設定圓角,當設置的圓角半徑很大,就可變成弧形邊了-->
 <corners android:radius="8dip" />
        <!--邊框-->
<stroke android:width="1dip" android:color="#DDD531" />
        <!--漸層顏色-->
<gradient android:angle="-90" android:startColor="#58DFD4" 
android:endColor="#F0EAA6"  />
    </shape>
</item>

<!-- 預設時 -->
<item android:color="@android:color/holo_blue_bright">
    <shape android:shape="rectangle" >
 <corners android:radius="8dip" />
<stroke android:width="1dip" android:color="#CD40D9EB" />
<gradient android:angle="-90" android:startColor="#FD13AAD1"
 android:endColor="#0BD8EE"  />
    </shape>
</item>

</selector>

接著,到style.xml建立button的style

 

<style name="btn_primary" parent="@android:style/Widget.Button">
    <item name="android:textSize">16sp</item>
    <item name="android:textColor">#000000</item>
    <item name="android:gravity">center</item>
    <item name="android:background">@drawable/btn_primary</item>
    <item name="android:padding">10dip</item>
</style>

 

接著,我就可以在layout中使用了

<Button
    android:id="@+id/bt1"
    style="@style/btn_primary"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="加法"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.279" />

以上~~

arrow
arrow
    文章標籤
    android button
    全站熱搜

    kyo 發表在 痞客邦 留言(0) 人氣()