Card_view material design

Jelleroggie picture Jelleroggie · Jul 28, 2014 · Viewed 25.8k times · Source

I am trying to use card_view. But it keeps giving an error.

Error:(13) No resource identifier found for attribute `'cardCornerRadius' in package 'com.google.example.test_app'

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:background="#610B0B"
    tools:context=".MyActivity"
    android:id="@+id/myactivity ">
    <android.support.v7.widget.CardView
        xmlns:card_view="http://schemas.android.com/apk/res-auto"
        android:id="@+id/card_view"
        android:layout_width="200dp"
        android:layout_height="200dp"
        android:layout_gravity="center"
        android:background="#fff"
        card_view:cardCornerRadius="4dp">
        <TextView
        android:id="@+id/my_textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/next"
        android:background="#fff"
        android:elevation="5dp" />
    </android.support.v7.widget.CardView>
</RelativeLayout>

What am I doing wrong here?

Answer

mindex picture mindex · Sep 13, 2014

EDIT: This has been fixed in the Android 5.0 Lollipop SDK. Simply add

compile 'com.android.support:cardview-v7:21.+'

to your build.gradle and you're good to go.

OLD answer:

You'll need to add the cardview support library dependency to build.gradle:

compile 'com.android.support:cardview-v7:21.+'

However, due to the way Google built the library, you'll also have to compile your app using the latest "L" SDK:

compileSdkVersion "android-L"
buildToolsVersion "20.0.0"

and

minSdkVersion 14
targetSdkVersion "L"

Note that the minSdkVersion here doesn't really matter - as long as you compile with "L" SDK, your app can only run on L device/emulator no matter what minSdkVersion is specified.

The only viable way to build with the cardview lib for earlier Android version seems to be using Eddie Ringle's workaround.

See Failure [INSTALL_FAILED_OLDER_SDK] Android-L for some related info.