BRVAH_基本使用

作者: 死鬼土匪 | 来源:发表于2019-04-13 18:11 被阅读0次
    BRVAH是GitHub上的一个RecyclerView 框架,非常强大 。
    代码可以运行,GitHub仓库和依赖要加上去
    其他的看代码注释

    activity_main

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    
    <android.support.v7.widget.RecyclerView
        android:id="@+id/id_recyclerview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:divider="#000000"
        android:dividerHeight="10dp" />
    
    </RelativeLayout>
    

    item1

      <?xml version="1.0" encoding="utf-8"?>
      <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_width="match_parent"
          android:layout_height="50dp"
          android:orientation="horizontal">
    
      <TextView
          android:id="@+id/id_num"
          android:layout_width="0dp"
          android:layout_height="match_parent"
          android:layout_weight="1"
          android:background="#44ff0000"
          android:gravity="center"
          android:text="1" />
    
    </LinearLayout>
    

    MainActivity

    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.support.v7.widget.LinearLayoutManager;
    import android.support.v7.widget.RecyclerView;
    import java.util.ArrayList;
    import java.util.List;
    import android.view.View;
    import android.widget.Toast;
    import com.chad.library.adapter.base.BaseQuickAdapter;
    
    public class MainActivity extends AppCompatActivity {
    
    private RecyclerView mRecyclerView;
    private List<String> mDatas;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //模拟数据
        initData();
        //获取控件
        mRecyclerView = (RecyclerView) findViewById(R.id.id_recyclerview);
        //方向
        mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
        //item布局、列表数据源
        HomeAdapter mAdapter = new HomeAdapter(R.layout.item1, mDatas);
        //适配器
        mRecyclerView.setAdapter(mAdapter);
        //动画
        mAdapter.openLoadAnimation(BaseQuickAdapter.ALPHAIN);
        //单击事件
        mAdapter.setOnItemChildClickListener(new BaseQuickAdapter.OnItemChildClickListener() {
            @Override
            public void onItemChildClick(BaseQuickAdapter adapter, View view, int position) {
                Toast.makeText(MainActivity.this, "单击" + mDatas.get(position), Toast.LENGTH_SHORT).show();
            }
        });
        //长按事件
        mAdapter.setOnItemChildLongClickListener(new BaseQuickAdapter.OnItemChildLongClickListener() {
            @Override
            public boolean onItemChildLongClick(BaseQuickAdapter adapter, View view, int position) {
                Toast.makeText(MainActivity.this, "长按" + mDatas.get(position), Toast.LENGTH_SHORT).show();
                return false;
            }
        });
    
      }
    
    protected void initData() {
        mDatas = new ArrayList<>();
        for (int i = 'A'; i < 'Z'; i++) {
            mDatas.add("" + (char) i);
            }
        }
    }
    

    HomeAdapter

    import android.graphics.Color;
    import com.chad.library.adapter.base.BaseQuickAdapter;
    import com.chad.library.adapter.base.BaseViewHolder;
    import java.util.List;
    
    class HomeAdapter extends BaseQuickAdapter<String, BaseViewHolder> {
    
    HomeAdapter(int layoutResId, List<String> data) {
        super(layoutResId, data);
    }
    
    @Override
    protected void convert(BaseViewHolder helper, String data) {
        helper.setText(R.id.id_num, data);
        //添加监听事件
        helper.addOnClickListener(R.id.id_num);
        //getLayoutPosition() 获取当前item的position
        if (helper.getAdapterPosition() % 2 == 0) {
            helper.setTextColor(R.id.id_num, Color.RED);
        } else {
            helper.setTextColor(R.id.id_num, Color.YELLOW);
        }
      }
    }
    

    maven 仓库(Project : test)

    allprojects {
        repositories {
            google()
            jcenter()
            maven { url "https://jitpack.io" }
        }
    }
    

    添加依赖(Module:test)

    dependencies {
        ...
        implementation 'com.github.CymChad:BaseRecyclerViewAdapterHelper:2.9.30' 
        implementation 'com.android.support:recyclerview-v7:28.0.0'
        ...
    }
    

    相关文章

      网友评论

        本文标题:BRVAH_基本使用

        本文链接:https://www.haomeiwen.com/subject/nxerwqtx.html