2016年6月16日 星期四

改變物件邊框及動作反應


一、如果要改變 TextView 元件顯示外觀:
  1. 在 res/drawable 檔案夾下建立一 XML File,例如「view_border.xml」並選取 shape 為根元件。
  2. 在新建立的 XML 檔下編輯如下內容
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
     
  <!-- 圓角 -->
  <corners android:radius="8dp"/>
 
  <!-- 外框線條 -->
  <stroke android:width="2dp" android:color="@android:color/holo_orange_dark"/>
 
  <!-- 文字與外框間隔 -->
  <padding android:top="8dp" android:left="8dp" android:bottom="8dp" android:right="8dp"/>
 
  <!-- 有關顏色的填充,系統以最後一筆設定為主 -->
  <!-- 填充顏色 -->
  <solid android:color="@android:color/holo_green_light"/>
 
  <!-- 漸層效果 (由右至左)-->
  <gradient android:endColor="#eac100" />
  <!-- 漸層效果 (由左至右)-->
  <gradient android:startColor="@android:color/darker_gray" />
 
</shape>
將欲改變外型的元件屬性 Background 指定此建立的 XML File 為:@drawable/view_border 外觀即會改變。


二、若要改變的是 Button 元件外觀及按下時以不同顏色顯示:
可以在 res/drawable 檔案夾下建立一 XML File,例如「btn_input_bg_selector.xml」及選取 selector 為根元件,並輸入以下內容:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

  <!-- 當 button 處於 pressed 時的樣式。-->
  <item android:state_pressed="true">
    <shape>
      <gradient android:startColor="#8600ff" />
      <stroke android:width="2dp" android:color="#000000" />
      <corners android:radius="5dp" />
      <padding android:left="10dp" android:top="10dp" android:bottom="10dp" android:right="10dp" />
    </shape>
  </item>

  <!-- button 處於一般時的樣式。-->
  <item>
    <shape>
      <gradient android:endColor="#eac100" />
      <stroke android:width="2dp" android:color="#333333" />
      <corners android:radius="5dp" />
      <padding android:left="10dp" android:top="10dp" android:bottom="10dp" android:right="10dp" />
    </shape>
  </item>

</selector>







範例下載

沒有留言: