Android CardView的基本使用




效果图:


设置显示条目的圆角

设置显示条目的背景阴影

设置显示条目的显示高度





条目布局:

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

        }
    }



}


















早起的年轻人 CSDN认证博客专家 移动开发 项目管理 Java
只要用心去做,每一件事情还是有可能成功的,当然成功是没有界限的,只不过是达到自己心里的那个目标,公众号:我的大前端生涯,一个爱喝茶的程序员,通常会搞搞SpringBoot 、Herbinate、Mybatiys、Android、iOS、Flutter、Vue、小程序等.
©️2020 CSDN 皮肤主题: 代码科技 设计师:Amelia_0503 返回首页