Android學習筆記043之shape詳解

2021-09-29 19:11:52 字數 1280 閱讀 6861

android中提供了shape形狀給我們使用,我們可以通過shape畫出虛線、圓角、漸變等多種效果,而且,shape是xml**,比更小,在開發中,我們推薦使用shape,能用shape就用shape。

用shape畫形狀,xml的根節點是shape,shape的取值有四個,簡單的說就是,我們需要在根節點設定android:shape=""屬性,這個屬性取值有4個:rectangle(長方形),oval(橢圓),line(線條),ring(圓環)。

需要注意一下幾個屬性,只有在設定畫的形狀是ring(圓環)的時候才會起作用:

shape可以在layout和selector中使用,shape有6個子標籤,分別是:

需要注意的是:dashwidth和dashgap屬性,只要其中乙個設定為0dp或者不設定,邊框是實線邊框

上面我們講了很多shape的便簽和屬性,都是概念性的東西,下面我們來具體使用一下

使用shape畫一條虛線

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

使用shape畫一條實線

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

使用shape畫乙個實線邊框

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

使用shape畫乙個虛線邊框

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

使用shape畫乙個漸變邊框

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

使用shape畫乙個圓環

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

最終實現的效果圖是:

需要注意的是,在android3.0之後會開啟硬體加速功能,所以我們需要在activity中新增

android:hardwareaccelerated="false"
這一句**,否則不會顯示虛線

shape就簡單介紹到這裡了,我們可以使用shape畫出很多形狀,就看具體的需求了,使用shape比更小。

Android學習筆記之fragment

fragment 二 有什麼用?一般介面設計 通過fragment實現 三 fragment怎麼用 生命週期方法被呼叫契機 新建乙個類繼承fragment或者fragment的派生類 listfragment preferencefragment 2.fragment新增使用者介面 引數 注 如果你...

Android學習筆記之Intent

例如 startactivity new intent mainactivity.this,myaty.class 使用startactivity方法後出現at dalvik.system.nativestart.main native method 這一錯誤的原因是因為忘了在androidmani...

android學習筆記之Activity

建立activity 的要點 乙個activity 就是乙個類,並且這個類要繼承activity 需要複寫oncreate方法 每乙個activity 都需要在androidmanifest.xml 中進行配置,包含filter 的為主activity。為activity新增必要的控制項 activ...