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实现横向滑动代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!