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