Here is a simple CardView Demo in Android.
This demo shows how you can apply Corner radius and Shadow in Android L.
Here is the Activity.
package com.example.android.cardview; import android.app.Activity; import android.os.Bundle; /** * Launcher Activity for the CardView sample app. */ public class CardViewActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_card_view); if (savedInstanceState == null) { getFragmentManager().beginTransaction() .add(R.id.container, CardViewFragment.newInstance()) .commit(); } } }
This is the Fragment that adds the CardView.
package com.example.android.cardview; import android.app.Fragment; import android.os.Bundle; import android.support.v7.widget.CardView; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.SeekBar; /** * Fragment that demonstrates how to use CardView. */ public class CardViewFragment extends Fragment { private static final String TAG = CardViewFragment.class.getSimpleName(); /** The CardView widget. */ //@VisibleForTesting CardView mCardView; /** * SeekBar that changes the cornerRadius attribute for the {@link #mCardView} widget. */ //@VisibleForTesting SeekBar mRadiusSeekBar; /** * SeekBar that changes the Elevation attribute for the {@link #mCardView} widget. */ //@VisibleForTesting SeekBar mElevationSeekBar; /** * Use this factory method to create a new instance of * this fragment using the provided parameters. * * @return A new instance of fragment NotificationFragment. */ public static CardViewFragment newInstance() { CardViewFragment fragment = new CardViewFragment(); fragment.setRetainInstance(true); return fragment; } public CardViewFragment() { // Required empty public constructor } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment return inflater.inflate(R.layout.fragment_card_view, container, false); } @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); mCardView = (CardView) view.findViewById(R.id.cardview); mRadiusSeekBar = (SeekBar) view.findViewById(R.id.cardview_radius_seekbar); mRadiusSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { Log.d(TAG, String.format("SeekBar Radius progress : %d", progress)); mCardView.setRadius(progress); } @Override public void onStartTrackingTouch(SeekBar seekBar) { //Do nothing } @Override public void onStopTrackingTouch(SeekBar seekBar) { //Do nothing } }); mElevationSeekBar = (SeekBar) view.findViewById(R.id.cardview_elevation_seekbar); mElevationSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { Log.d(TAG, String.format("SeekBar Elevation progress : %d", progress)); mCardView.setElevation(progress); } @Override public void onStartTrackingTouch(SeekBar seekBar) { //Do nothing } @Override public void onStopTrackingTouch(SeekBar seekBar) { //Do nothing } }); } }
The Layout for the Activity.
<scrollview xmlns:android="http://schemas.android.com/apk/res/android" xmlns:card_view="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <linearlayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin"> <android .support.v7.widget.CardView android:id="@+id/cardview" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginLeft="@dimen/margin_large" android:layout_marginRight="@dimen/margin_large" android:elevation="100dp" card_view:cardBackgroundColor="@color/cardview_initial_background" card_view:cardCornerRadius="8dp"> <textview android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_margin="@dimen/margin_medium" android:text="@string/cardview_contents"></textview> </android> </linearlayout><linearlayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="@dimen/margin_large" android:orientation="horizontal"> <textview android:layout_width="@dimen/seekbar_label_length" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:text="@string/cardview_radius_seekbar_text"></textview> <seekbar android:id="@+id/cardview_radius_seekbar" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_margin="@dimen/margin_medium"></seekbar> </linearlayout> <linearlayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <textview android:layout_width="@dimen/seekbar_label_length" android:layout_height="wrap_content" android:layout_gravity="center_vertical" android:text="@string/cardview_elevation_seekbar_text"></textview> <seekbar android:id="@+id/cardview_elevation_seekbar" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_margin="@dimen/margin_medium"></seekbar> </linearlayout> </scrollview>
Fragment for placing CardView.
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/container" 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" tools:context="com.example.android.cardview.CardViewActivity" tools:ignore="MergeRootFrame" />
You can download the complete Android Studio Source Code from here..