布局
<android.support.v7.widget.RecyclerView android:id="@+id/rv_department" android:layout_width="match_parent" android:layout_height="match_parent" android:clipChildren="false" android:clipToPadding="false" android:padding="8dp" />
item 布局
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content"> <android.support.v7.widget.CardView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_centerInParent="true" android:layout_margin="8dp"> <TextView android:id="@+id/tv" android:layout_width="match_parent" android:layout_height="36dp" android:background="@drawable/bg_white_to_gray" android:foreground="?attr/selectableItemBackground" android:gravity="center"/> </android.support.v7.widget.CardView> </RelativeLayout>
Adapter
public class DeptAdapter extends RecyclerView.Adapter<DeptAdapter.ViewHolder>{ public String[] datas = null; public DeptAdapter(String[] datas) { this.datas = datas; } @Override public ViewHolder onCreateViewHolder(ViewGroup viewGroup, int viewType) { View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.item_dept,viewGroup,false); ViewHolder vh = new ViewHolder(view); return vh; } @Override public void onBindViewHolder(ViewHolder viewHolder, int position) { viewHolder.mTextView.setText(datas[position]); } @Override public int getItemCount() { return datas.length; } class ViewHolder extends RecyclerView.ViewHolder { private TextView mTextView; public ViewHolder(View view){ super(view); mTextView = (TextView) view.findViewById(R.id.tv); } } }
GridLayoutManager方式
GridLayoutManager manager = new GridLayoutManager(this, 4); rv_department.setLayoutManager(manager); rv_department.setItemAnimator(new DefaultItemAnimator());//设置动画 DeptAdapter mAdapter = new DeptAdapter(new String[]{"东润","研发部","科技"}); rv_department.setAdapter(mAdapter);
时间: 2024-10-10 09:18:17