Android CardView的基本使用

来源:互联网 发布:代刷网源码 编辑:程序博客网 时间:2024/05/04 09:33




效果图:


设置显示条目的圆角

设置显示条目的背景阴影

设置显示条目的显示高度





条目布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"              xmlns:tools="http://schemas.android.com/tools"              xmlns:card_view="http://schemas.android.com/apk/res-auto"              android:layout_width="match_parent"              android:layout_height="wrap_content"              android:background="#50211403"              android:orientation="vertical"              tools:context=".MainActivity">    <!--card_view:cardElevation 阴影的大小    card_view:cardMaxElevation 阴影最大高度    card_view:cardBackgroundColor 卡片的背景色    card_view:cardCornerRadius 卡片的圆角大小    card_view:contentPadding 卡片内容于边距的间隔-->    <android.support.v7.widget.CardView        android:layout_width="match_parent"        android:layout_height="match_parent"        card_view:cardBackgroundColor="#F0F4CD"        card_view:cardCornerRadius="10dp"        card_view:cardPreventCornerOverlap="true"        card_view:cardUseCompatPadding="true"        card_view:contentPadding="10dp"        card_view:cardElevation ="10dp"        >        <TextView            android:id="@+id/info_text_one"            android:layout_width="match_parent"            android:layout_height="wrap_content"            android:gravity="center"            android:text="CardView1测试"            android:textSize="16sp" />    </android.support.v7.widget.CardView></LinearLayout>


主页面布局 activity_layout.xml

<LinearLayout 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:background="#50211403"              android:orientation="vertical"                tools:context=".MainActivity">    <android.support.v7.widget.RecyclerView        android:id="@+id/list"        android:scrollbars="vertical"        android:layout_gravity="center"        android:layout_width="match_parent"        android:layout_height="match_parent"         /></LinearLayout>


java代码的实现:

public class MainActivity extends AppCompatActivity {    private RecyclerView mRecyclerView;    private MyAdapter myAdapter;    @Override    protected void onCreate( Bundle savedInstanceState )    {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);//        getActionBar().setTitle("那些年我们追的星女郎");        // 拿到RecyclerView        mRecyclerView = (RecyclerView) findViewById(R.id.list);        // 设置LinearLayoutManager        mRecyclerView.setLayoutManager(new LinearLayoutManager(this));        // 设置ItemAnimatorw        AnimatorSet animatorSet = new AnimatorSet();        mRecyclerView.setItemAnimator(new DefaultItemAnimator());        // 设置固定大小        mRecyclerView.setHasFixedSize(true);        // 初始化自定义的适配器        myAdapter = new MyAdapter(this);        // 为mRecyclerView设置适配器        mRecyclerView.setAdapter(myAdapter);    }}class MyAdapter extends RecyclerView.Adapter<MyAdapter.MyViewHolder>{    private Context mContext;    public MyAdapter(Context mContext){        this.mContext = mContext;    }    @Override    public MyViewHolder onCreateViewHolder(ViewGroup viewGroup, int i) {        View view = View.inflate(mContext, R.layout.item, null);        //设置条目的布局方式        LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);        view.setLayoutParams(lp);        MyViewHolder myViewHolder = new MyViewHolder(view);        return myViewHolder;    }    @Override    public void onBindViewHolder(MyViewHolder viewHolder, int i) {viewHolder.tv.setText("text " + i);    }    @Override    public int getItemCount() {        return 20;    }    class MyViewHolder extends RecyclerView.ViewHolder    {        TextView tv;        public MyViewHolder(View view)        {            super(view);            tv = (TextView) view.findViewById(R.id.info_text_one);        }    }}


















0 0
原创粉丝点击