Android開發系列(十八):自己定義控制項樣式在drawable目錄下的XML實現

來源:互聯網
上載者:User

標籤:android   style   blog   http   io   color   ar   使用   sp   

在Android開發的過程中,我們常常須要對控制項的樣式做一下改變,能夠通過用添加背景圖片的方式進行改變,可是背景圖片放多了肯定會使得APK檔案變的非常大。

我們能夠用自己定義屬性shape來實現。


shape:

gradient   -- 相應色彩坡形。 startcolor、endcolor就不多說了。 android:angle 是指從哪個角度開始變。

solid      --  填充。

stroke   --  描邊。

corners  --  圓角。

padding   -- 定義內容離邊界的距離。


我們先來看一下效果:




下邊我們用詳細的代碼來示範一下:

首先,建立一個項目,然後我們在main.xml編輯:

<span style="font-size:18px;"><?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:orientation="vertical" >  <TextView      android:layout_width="fill_parent" android:layout_height="wrap_content"android:layout_marginTop="10dp"      android:text="示範文本"      android:textSize="14pt"      android:textColor="#565656"      android:background="@drawable/bg_border"      />  <!-- 通過android:drawableLeft繪製一張圖片 --><TextView  android:layout_width="fill_parent"android:layout_height="wrap_content"android:text="示範文本2"android:textSize="24pt"android:background="@drawable/bg_border2"/></LinearLayout></span>
能夠看到,在上邊的兩個TextView的android:background屬性,用到了@drawable/bg_border和@drawable/bg_border2這兩個檔案


然後,我們在@drawable目錄下邊建立這兩個Android xml檔案:

bg_border.xml:

<span style="font-size:18px;"><?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android">    <!-- 填充:設定背景顏色 --><solid android:color="#ffffff"/><!-- 設定邊框 --><stroke      android:width="5px"    android:color="#873600"    android:dashWidth="5dip"    /><!-- 定義內邊距 --><padding     android:top="20dip"    />          </shape></span>


bg_border2.xml:

<span style="font-size:18px;"><?xml version="1.0" encoding="UTF-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android"    android:shape="rectangle">    <!-- 指定圓角矩形的4個圓角的半徑 -->   <corners android:topLeftRadius="20px"    android:topRightRadius="5px"    android:bottomRightRadius="20px"    android:bottomLeftRadius="5px"/>   <!-- 指定邊框線條的寬度和顏色 --><stroke android:width="4px" android:color="#f0f" /><!-- 指定使用漸層背景色,使用sweep類型的漸層顏色從紅色→綠色→藍色 --><gradient android:startColor="#f00"    android:centerColor="#0f0"    android:endColor="#00f"    android:type="sweep"/></shape></span>


我們看下我們的project資料夾檢視:







Android開發系列(十八):自己定義控制項樣式在drawable目錄下的XML實現

聯繫我們

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