標籤:
在Android Training中,看到CardView使用自訂屬性時有點特別,如下:
<style name="Widget.SampleDashboard.Card" parent="Widget"> <item name="android:gravity">center</item> <item name="android:layout_margin">@dimen/card_margin</item> <item name="cardCornerRadius">4dp</item> <item name="cardElevation">5dp</item> <item name="contentPadding">@dimen/card_padding</item></style>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content"> <!-- The CardView needs to be wrapped to ensure spacing is applied correctly. --> <android.support.v7.widget.CardView style="@style/Widget.SampleDashboard.Card" android:layout_width="match_parent" android:layout_height="wrap_content">
自訂的屬性值是通過style匯入的,並沒有直接在layout檔案中設定; 而且layout檔案中也不需要加入xmlns:cardview="http://schemas.android.com/apk/res/com.example.android.navigationdrawer"這類申明(藍色字型部分是工程包名),簡化了使用流程。
而之前我常採用的方式:在layout中申明xmlns:cardview="http://schemas.android.com/apk/res/com.example.android.navigationdrawer", 然後在layout檔案中直接設定自訂屬性值,如:cardview:cardCornerRadius = "4dp"。感覺更麻煩些。
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。
Android控制項自訂屬性的使用