Android中實現自訂按鈕

來源:互聯網
上載者:User

標籤:

項目中有時候考慮到美觀,需要自訂Button。

1、在項目的res檔案夾中建立檔案夾drawable並建立shapes.xml(實現button的外形和顏色的資源)

2、在mainactivity.xml的button屬性中設定 android:background="@drawable/shapes"就可以了

圓角按鈕、未點擊和點擊的顏色變化。

效果如下:

shapes.xml

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android">         <!-- View點擊時的初始化顏色      gradient漸層     android:angle  漸層角度,0從上到下,90表示從左至右,數值為45的整數倍預設為0;    android:startColor  起始顏色    android:endColor  結束顏色                 android:type  漸層的樣式 liner線性漸層 radial環形漸層 sweep    View的大小 size     corners  圓角    -->    <item android:state_pressed="true">        <shape>            <gradient android:angle="270" android:endColor="#308014" android:startColor="#308014" />            <size android:height="60dp" android:width="120dp" />            <corners android:radius="8dp" />        </shape>     </item>    <!-- View未點擊時初始化顏色-->    <item>        <shape>            <gradient android:angle="270" android:endColor="#32CD32" android:startColor="#32CD32" />            <size android:height="60dp" android:width="120dp" />            <corners android:radius="8dp" />        </shape>   </item></selector>

mainactivity.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context=".MainActivity" >    <TextView        android:id="@+id/textView1"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:text="@string/hello_world" />    <Button        android:id="@+id/stop"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignBaseline="@+id/start"        android:layout_alignBottom="@+id/start"        android:layout_marginLeft="30dp"        android:layout_toRightOf="@+id/start"        android:text="stop"android:background="@drawable/shapes"/>    <Button        android:id="@+id/unbind"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignBaseline="@+id/bind"        android:layout_alignBottom="@+id/bind"        android:layout_alignLeft="@+id/stop"        android:text="unbind"         android:background="@drawable/shapes"/>    <Button        android:id="@+id/start"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignLeft="@+id/textView1"        android:layout_below="@+id/textView1"        android:layout_marginLeft="17dp"        android:layout_marginTop="108dp"        android:background="@drawable/shapes"        android:text="start"        android:textColor="#FFFFFF" />    <Button        android:id="@+id/bind"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:layout_alignLeft="@+id/start"        android:layout_below="@+id/start"        android:layout_marginTop="43dp"        android:background="@drawable/shapes"        android:text="bind" /></RelativeLayout>

 

Android中實現自訂按鈕

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.