Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to put a CardView attribute in a style?

People also ask

How do I customize my card view?

Customized CardView First, add a CardView dependency to the application-level build. gradle file. Then create a drawable background for the cards. For that, create a new drawable resource file inside the drawable folder.

When should I use CardView?

CardView is a new widget in Android that can be used to display any sort of data by providing a rounded corner layout along with a specific elevation. CardView is the view that can display views on top of each other. The main usage of CardView is that it helps to give a rich feel and look to the UI design.

How do you change shapes in CardView?

To achieve a circular shape using Card view you can set the shape property, android:shape="ring". You don't need to add the shape attribute as the cardCornerRadius is enough.


Set parent attribute to CardView.
You don't even have to add xmlns:card_view="http://schemas.android.com/apk/res-auto".

Working snippet of code:

<style name="CardViewStyle" parent="CardView">
     <item name="cardCornerRadius">4dp</item>
     <item name="cardElevation">4dp</item>
</style>

To add to mklimek's answer, you do not even need to add the parent="CardView"

Just avoid the cardView: prefix

So instead of

    <item name="cardView:cardElevation">5dp</item>

just use

    <item name="cardElevation">5dp</item>

So my complete style code for this is:

<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>

This error can occur if you do not have CardView in your gradle dependencies (in Android Studio) for the module containing your style (even though you have the dependency in the module where you use the card view). In that case, simply add

compile 'com.android.support:cardview-v7:22.2.1'

(or another version) to build.gradle for the module containing themes.xml or styles.xml.

Then, you do not need to set a parent on your style, nor do you need a namespace prefix, but can follow the example in tsik's answer, so all you need is

<style name="myStyle">
    <item name="cardCornerRadius">8dp</item>
</style>

This code work well

<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>

Note: parent ="CardView"