RecycleView 的出现逐渐取代了 ListView GridView 功能更加强大 省去了ListView的优化问题 更方便使用:
首先导入依赖:(依赖的版本号 根据个人需要进行修改)
compile 'com.android.support:recyclerview-v7:27.+'
xml文件:(一个简单的控件 v7包)
<android.support.v7.widget.RecyclerView
android:id="@+id/main_rv"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v7.widget.RecyclerView>
java代码:
public class MainActivity extends AppCompatActivity {
RecyclerView mainRv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mainRv = findViewById(R.id.main_rv);
//添加布局管理器 此布局以线性布局显示
RecyclerView.LayoutManager layoutManager = new LinearLayoutManager(this);
mainRv.setLayoutManager(layoutManager);
//设置Adapter
mainRv.setAdapter(new MyAdapter());
}
class MyAdapter extends RecyclerView.Adapter<MyAdapter.ViewHolder>{
@NonNull
@Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(MainActivity.this).inflate(R.layout.adapter_item,parent,false);
return new ViewHolder(view);
}
@Override
public void onBindViewHolder(@NonNull ViewHolder holder, int position) {
}
@Override
public int getItemCount() {
return 10;
}
public class ViewHolder extends RecyclerView.ViewHolder {
public ViewHolder(View itemView) {
super(itemView);
}
}
}
}
MyAdapter的layout布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/adapter_tv"
android:text="测试"
android:textColor="#fff"
android:background="#ccc"
android:padding="10dp"
android:gravity="center"
android:textSize="20dp"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
此时的效果图是这样的:
....这样的效果图 是没有下划线的
那么如何添加下划线 没有通过官方的方法来设置:
第一步 在adapter的layout布局文件如下修改:
在外层布局中添加了
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp">
<TextView
android:id="@+id/adapter_tv"
android:text="测试"
android:textColor="#fff"
android:background="#ccc"
android:padding="10dp"
android:gravity="center"
android:textSize="20dp"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
第二步 在recycleView标签中添加(属性值根据需求更改)
android:layout_marginTop="-5dp"
android:layout_marginBottom="-5dp"
如下图:
<android.support.v7.widget.RecyclerView
android:id="@+id/main_rv"
android:layout_marginBottom="-5dp"
android:layout_marginTop="-5dp"
android:layout_width="match_parent"
android:layout_height="match_parent">
</android.support.v7.widget.RecyclerView>
效果图如下: