我有:
在文件build.gradle
(依赖项)
dependencies {
compile 'com.android.support:cardview-v7:21.0.+'
}
在文件styles.xml
(样式定义)
<resources
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto">
<style name="CardViewStyle">
<item name="android:layout_margin">5dip</item>
<item name="card_view:cardCornerRadius">4dp</item>
<item name="card_view:cardElevation">4dp</item>
</style>
</resources>
但编译器抱怨:
错误:找不到与给定名称匹配的资源:attr'card_view:cardCornerRadius'。
如何在样式中添加一些cardView属性?
答案 0 :(得分:113)
将parent
属性设为CardView
您甚至不必添加xmlns:card_view="http://schemas.android.com/apk/res-auto"
。
代码片段:
<style name="CardViewStyle" parent="CardView">
<item name="cardCornerRadius">4dp</item>
<item name="cardElevation">4dp</item>
</style>
答案 1 :(得分:16)
要添加到mklimek的答案,您甚至不需要添加parent =“CardView”
请避免使用cardView:前缀
所以而不是
<item name="cardView:cardElevation">5dp</item>
只需使用
<item name="cardElevation">5dp</item>
所以我的完整样式代码是:
<style name="categoriesCardViewButtons">
<item name="android:layout_width">80dp</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:layout_marginLeft">10dp</item>
<item name="cardCornerRadius">8dp</item>
<item name="cardElevation">5dp</item>
<item name="cardBackgroundColor">@color/grey_ultra_light</item>
<item name="android:paddingBottom">@dimen/l1LayoutPaddingB</item>
</style>
答案 2 :(得分:1)
此代码效果很好
<style name="MyCardView" parent="CardView">
<item name="cardUseCompatPadding">true</item>
<item name="cardCornerRadius">@dimen/hei_standard_8dp</item>
<item name="cardBackgroundColor">@color/bg_item_list_alphabet</item>
</style>
注意:parent =“CardView”