Android中RecyclerView实现横向滑动代码
RecyclerView是AndroidL版本中新添加的一个用来取代ListView的SDK,它的灵活性与可替代性比listview更好。本文给大家介绍Android中RecyclerView实现横向滑动代码,一起看看吧。
android.support.v7.widget.RecyclerView
功能:RecyclerView横向滑动
控件:<android.support.v7.widget.RecyclerView/>
Java类:RecyclerView、GalleryAdapter、List<Integer>
1、主界面布局
<?xmlversion="1.0"encoding="utf-8"?> <RelativeLayoutxmlns: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:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.info.activity.RecyclerActivity"> <android.support.v7.widget.RecyclerView android:id="@+id/id_recyclerview_horizontal" android:layout_width="match_parent" android:layout_height="120dp" android:layout_centerVertical="true" android:background="#FF0000" android:scrollbars="none" ></android.support.v7.widget.RecyclerView> </RelativeLayout>
2、子界面布局
<?xmlversion="1.0"encoding="utf-8"?> <RelativeLayoutxmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="120dp" android:layout_height="120dp"> <ImageView android:id="@+id/id_index_gallery_item_image" android:layout_width="80dp" android:layout_height="80dp" android:layout_alignParentTop="true" android:layout_centerHorizontal="true" android:layout_margin="5dp" android:scaleType="centerCrop"/> <TextView android:id="@+id/id_index_gallery_item_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/id_index_gallery_item_image" android:layout_centerHorizontal="true" android:layout_marginBottom="5dp" android:layout_marginTop="5dp" android:textColor="#000000" android:text="someinfo" android:textSize="12dp"/> </RelativeLayout>
3、Java代码
packagecom.info.activity; importandroid.app.Activity; importandroid.content.Context; importandroid.support.v7.app.AppCompatActivity; importandroid.os.Bundle; importandroid.support.v7.widget.LinearLayoutManager; importandroid.support.v7.widget.RecyclerView; importandroid.view.LayoutInflater; importandroid.view.View; importandroid.view.ViewGroup; importandroid.widget.ImageView; importandroid.widget.TextView; importjava.util.ArrayList; importjava.util.Arrays; importjava.util.List; publicclassRecyclerActivityextendsActivity{ privateRecyclerViewmRecyclerView; privateGalleryAdaptermAdapter; privateList<Integer>mDatas; @Override protectedvoidonCreate(BundlesavedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_recycler); initDatas(); //得到控件 mRecyclerView=(RecyclerView)findViewById(R.id.id_recyclerview_horizontal); //设置布局管理器 LinearLayoutManagerlinearLayoutManager=newLinearLayoutManager(this); linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL); mRecyclerView.setLayoutManager(linearLayoutManager); //设置适配器 mAdapter=newGalleryAdapter(this,mDatas); mRecyclerView.setAdapter(mAdapter); } privatevoidinitDatas() { mDatas=newArrayList<>(Arrays.asList(R.drawable.ic_launcher, R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher, R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher,R.drawable.ic_launcher)); } publicclassGalleryAdapterextends RecyclerView.Adapter<GalleryAdapter.ViewHolder> { privateLayoutInflatermInflater; privateList<Integer>mDatas; publicGalleryAdapter(Contextcontext,List<Integer>datats) { mInflater=LayoutInflater.from(context); mDatas=datats; } publicclassViewHolderextendsRecyclerView.ViewHolder { publicViewHolder(Viewarg0) { super(arg0); } ImageViewmImg; TextViewmTxt; } @Override publicintgetItemCount() { returnmDatas.size(); } /** *创建ViewHolder */ @Override publicViewHolderonCreateViewHolder(ViewGroupviewGroup,inti) { Viewview=mInflater.inflate(R.layout.activity_recycler_item, viewGroup,false); ViewHolderviewHolder=newViewHolder(view); viewHolder.mImg=(ImageView)view .findViewById(R.id.id_index_gallery_item_image); returnviewHolder; } /** *设置值 */ @Override publicvoidonBindViewHolder(finalViewHolderviewHolder,finalinti) { viewHolder.mImg.setImageResource(mDatas.get(i)); } } }
以上所述是小编给大家介绍的Android中RecyclerView实现横向滑动代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!