android中shape的使用

2021-06-27 12:52:55 字數 2803 閱讀 1714

<?xml version="1.0" encoding="utf-8"?>

填充:設定填充的顏色

間隔:設定四個方向上的間隔

大小:設定大小

圓角:同時設定五個屬性,則radius屬性無效

android:radius="20dp"                           設定四個角的半徑

android:topleftradius="20dp"              設定左上角的半徑

android:toprightradius="20dp"           設定右上角的半徑

android:bottomleftradius="20dp"      設定右下角的半徑

android:bottomrightradius="20dp"    設定左下角的半徑

描邊:dashwidth和dashgap屬性,只要其中乙個設定為0dp,則邊框為實現邊框

android:width="20dp"                               設定邊邊的寬度

android:color="@android:color/black"  設定邊邊的顏色

android:dashwidth="2dp"                         設定虛線的寬度

android:dashgap="20dp"                          設定虛線的間隔寬度

漸變:當設定填充顏色後,無漸變效果。angle的值必須是45的倍數(包括0),僅在type="linear"有效,不然會報錯。android:uselevel 這個屬性不知道有什麼用。

angle對應值的起點如圖:

下面講解乙個例項  以edittext

第一步:為了更好的比較,準備兩個一模一樣的edittext(當activity啟動時,焦點會在第乙個edittext上,如果你不希望這樣只需要寫乙個高度和寬頻為0的edittext即可避免,這裡就不這麼做了),**如下:

<

edittext

android:layout_width="fill_parent"

android:layout_height="36dip"

android:background="@drawable/bg_edittext"

android:padding="5dip"

android:layout_margin="36dip"

android:textcolorhint="#aaaaaa"

android:textsize="15dip"

android:singleline="true"

android:hint="請輸入..."

/>

接下來建立三個xml檔案,分別為輸入框未

獲得焦點

時的背景,輸入框

獲得焦點

時的背景,selector背景選擇器(這裡能獲得輸入框什麼時候獲得和失去焦點),**如下:

bg_edittext_normal.xml(未

獲得焦點

時)xmlversion="1.0"

encoding="utf-8"

?>

<

shape

xmlns:android=""

>

<

solid

android:color="#ffffff"

/>

<

corners

android:radius="3dip"

/>

<

stroke

android:width="1dip"

android:color="#bdc7d8"

/>

shape

>

bg_edittext_focused.xml(

獲得焦點

時)xmlversion="1.0"

encoding="utf-8"

?>

<

shape

xmlns:android=""

>

<

solid

android:color="#ffffff"

/>

<

corners

android:radius="3dip"

/>

<

stroke

android:width="1dip"

android:color="#728ea3"

/>

shape

>

bg_edittext.xml(selector選擇器,這方面資料網上很多)

xmlversion="1.0"

encoding="utf-8"

?>

<

selector

xmlns:android=""

>

<

item

android:state_window_focused="false"

android:drawable="@drawable/bg_edittext_focused"

/>

<

item

android:state_focused="true"

android:drawable="@drawable/bg_edittext_focusedl"

/>

selector

>

這樣就ok了,效果圖如下:

關於android裡面Shape屬性的使用

shape屬性 shape的中文意思是模型,形狀。android裡面的shape也是這個意思,它的存在就是為了為給使用者自定義圖形的提供解決方案。總而言之,你可以用它自定義做一些一些簡單的圖形。好像扯的有點多,嗯嗯,好吧,直接說用法吧 在工程上右鍵新建android xml檔案進入建立頁面,選擇re...

android使用shape使元件呈現特殊效果

android radius 10dp android startcolor 33cc00 android endcolor 666600 android angle 45 android left 5dp android top 5dp android right 5dp android bott...

Android中shape的使用

本人在美工方面一直是比較白痴的,對於一些顏色什麼亂七八糟的非常頭痛,但是在android程式設計中這又是經常涉及到的東西,沒辦法,只有硬著頭皮上。android中常常使用shape來定義控制項的一些顯示屬性,今天看了一些shape的使用,對shape有了大體的了解,稍作總結 先看下面的 solid ...