私が持っています:
ファイル内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属性を追加するにはどうすればよいですか?
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>
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>
このエラーは、Gradleの依存関係にCardViewがない場合(Android Studio)スタイルを含むモジュールの場合(依存関係がカードビューを使用するモジュール)。その場合は、単に追加します
compile 'com.Android.support:cardview-v7:22.2.1'
(または別のバージョン)からbuild.gradle
themes.xmlまたはstyles.xmlを含むモジュールの場合。
次に、スタイルに親を設定する必要も、名前空間プレフィックスも必要ありませんが、tsikの答えの例に従うことができるため、必要なのは
<style name="myStyle">
<item name="cardCornerRadius">8dp</item>
</style>
このコードはうまく機能します
<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"