UI效果(2): shape

來源:互聯網
上載者:User

android中的控制項不是很多,布局也很少。但是這些東西很靈活,所以想設計好的介面還是需要一定的功底的。

本篇部落格,您可以瞭解到:

<1> 自訂 Toast

<2> Button特殊效果

在sdk的api中,相信你可以找到名為Shape Drawable的這樣一篇文章,位置:

如果,你想更加理解掌握這篇部落格,建議好好地、仔細地看看這篇Shape Drawable文章。

秀一下,呵呵!

啟動應用時候,第一次出現效果:

讓該Button獲得焦點,效果:

還有,就是按下Button會改變其顏色(紅色)並彈出Toast:

如果,你是一個細心的人就會發現Toast與以往顯示的位置不一樣,呵呵。代碼如下:

findViewById(R.id.btn_change).setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {Toast toast = Toast.makeText(DroidButtonActivity.this, "changed", Toast.LENGTH_LONG);toast.setGravity(Gravity.CENTER, 0, 0);toast.show();}});

這裡面實現Button特殊效果需要selector,一個很cool的xml檔案,在/res/drawable下面:

那麼,看看該xml檔案內容吧!?

<?xml version="1.0" encoding="utf-8"?><selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_pressed="true"><shape><gradient android:startColor="#bb0000" android:endColor="#cc0000"android:angle="270" /><stroke android:width="3dp" android:color="#aa0000" /><corners android:radius="2dp" /><padding android:left="10dp" android:top="10dp"android:right="10dp" android:bottom="10dp" /></shape></item><item android:state_focused="true"><shape><gradient android:startColor="#00aa00" android:endColor="#00bb00"android:angle="270" /><stroke android:width="2dp" android:color="#00cc00" /><corners android:radius="2dp" /><padding android:left="10dp" android:top="10dp"android:right="10dp" android:bottom="10dp" /></shape></item><item><shape><gradient android:startColor="#0000bb" android:endColor="#0000cc"android:angle="270" /><stroke android:width="2dp" android:color="#0000aa" /><corners android:radius="2dp" /><padding android:left="10dp" android:top="10dp"android:right="10dp" android:bottom="10dp" /></shape></item></selector>

關於各個參數的意思,看上面的sdk文檔。在main.xml檔案中,我們就可以來使用該xml檔案嘍!

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    ><TextView      android:layout_width="fill_parent"     android:layout_height="wrap_content"     /><Button     android:id="@+id/btn_change"    android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:layout_marginTop="10dip"    android:text="change"    android:background="@drawable/an_button"/></LinearLayout>

注意:Button設定selector使用標籤是background,不是src(區別於ImageButton)。

完整代碼下載:http://download.csdn.net/source/3469895

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.