今天来分析一下cardview和recycleview的简单使用,先上效果图:
1.build.gradle:
compile 'com.android.support:cardview-v7:25.1.1' //cardview
compile 'com.zhy:base-adapter:3.0.3' //鸿洋用于listview的万能适配器(本文未用到)
compile 'com.zhy:base-rvadapter:3.0.3' //鸿洋用于recycleview的万能适配器
2.在布局文件中使用cardview,cardview的属性不多,下面一一列举出来:
card_view:contentPadding 这个可以给你的内容加上padding属性
card_view:cardBackgroundColor 这个可以改变cardview的背景
card_view:cardCornerRadius 这个可以改变cardview圆角的大小
card_view:cardElevationCardView Z轴阴影,被用来决定阴影的大小以及柔和度,可以理解为阴影的大小。
下面贴出item的代码,很简单,就是用Cardview包裹起来:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<android.support.v7.widget.CardView
android:layout_width="match_parent"
android:layout_height="80dp"
app:cardCornerRadius="10dp"
app:cardUseCompatPadding="true"
app:cardElevation="5dp">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:src="@mipmap/ic_launcher"
android:layout_width="50dp"
android:layout_height="50dp" />
<TextView
android:id="@+id/itemText"
android:layout_centerInParent="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</RelativeLayout>
</android.support.v7.widget.CardView>
</LinearLayout>
3.使用鸿洋的万能适配器,快速的setAdapter,这里只贴出部分代码,下文会有源码下载:
recyclerView.setLayoutManager(new LinearLayoutManager(this));
recyclerView.setAdapter(new CommonAdapter<Bean>(MainActivity.this, R.layout.item, list) {
@Override
protected void convert(ViewHolder viewHolder, Bean item, int position) {
viewHolder.setText(R.id.itemText, list.get(position).getCount() + "");
}
});
4.然后就完成了阴影的效果。