Android侧滑按钮怎么实现
发表于:2024-11-13 作者:千家信息网编辑
千家信息网最后更新 2024年11月13日,这篇文章主要介绍"Android侧滑按钮怎么实现"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Android侧滑按钮怎么实现"文章能帮助大家解决问题。Andr
千家信息网最后更新 2024年11月13日Android侧滑按钮怎么实现
这篇文章主要介绍"Android侧滑按钮怎么实现"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Android侧滑按钮怎么实现"文章能帮助大家解决问题。
Android侧滑按钮效果如下所示:
导入闭包
将以下语句倒入目录下build.gradle文件内
implementation 'com.github.WangcWj:WeSwipe:1.0.2' implementation 'cn.wang.we:network:1.0.0'
将以下语句倒入项目build.gradle文件内
创建RecyclerView子项布局文件
效果描述
整体效果图,因为使用RelativeLayout布局的缘故,将侧滑按钮给覆盖了
我们接下来选中侧滑按钮,由此我们可以看见按钮的位置
将侧滑按钮释放出来,看一下效果
布局代码
创建RecyclerView适配器
描述
使用第三方API轮子时,不能像当初我们建立适配器一样继承一个RecyclerView.Adapter
,而要继承WeSwipeProxyAdapter
我们一般根据需求需要实现以下三个方法
@Override public float getSwipeWidth() { //侧滑按钮的宽度 } @Override public View needSwipeLayout() { //子项布局文件的最外层Layout } @Override public View onScreenView() { //子项布局文件的最外层Layout }
子项点击事件
//创建点击事件接口函数public interface ParkingOnClick{ void OnClickListener(View view,int Position); }//点击事件调用public void setOnclick(ParkingOnClick onclick) { this.onClick = onclick; }//引入布局View中return new ViewHolder(view,onClick);//内部类实现点击事件class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener//构造函数public ViewHolder(@NonNull View itemView,ParkingOnClick Listener)this.Listener = Listener;//点击事件外露@Override public void onClick(View v) { if (Listener != null) { Listener.OnClickListener(v, getPosition()); } }
适配器代码
public class ParkingAdapter extends WeSwipeProxyAdapter{ List data = new ArrayList<>( ); private ParkingOnClick onClick; public ParkingAdapter(List data ){ this.data = data; } @NonNull @Override public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from( parent.getContext() ).inflate( R.layout.parking_item,parent,false ); return new ViewHolder(view,onClick); public void onBindViewHolder(@NonNull ViewHolder holder, int position) { ParkingData bookingData = data.get(position); holder.BigPlace.setText(bookingData.getBigPlace()); holder.SmallPlace.setText(bookingData.getSmallPlace()); holder.ParkingNumber.setText(bookingData.getParkingNumber() + ""); holder.Distance.setText(bookingData.getDistance()); holder.SideText.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { Log.d( "Da",1+"" ); if (onClick != null){ onClick.OnClickListener( v,position ); } } } ); public int getItemCount() { return data.size(); class ViewHolder extends RecyclerView.ViewHolder implements View.OnClickListener,WeSwipeHelper.SwipeLayoutTypeCallBack { private TextView BigPlace,SmallPlace,Distance,ParkingNumber,SideText; private LinearLayout SideLayout; private ParkingOnClick Listener; public ViewHolder(@NonNull View itemView,ParkingOnClick Listener) { super( itemView ); this.Listener = Listener; BigPlace = itemView.findViewById( R.id.SimplePlace ); SmallPlace = itemView.findViewById( R.id.detailPlace ); Distance = itemView.findViewById( R.id.ParkingDistance ); ParkingNumber = itemView.findViewById( R.id.ParkingNumber ); SideText = itemView.findViewById( R.id.SideText ); SideLayout = itemView.findViewById( R.id.SideLayout ); } @Override public float getSwipeWidth() { return SideText.getWidth(); public View needSwipeLayout() { return SideLayout; public View onScreenView() { public void onClick(View v) { if (Listener != null) { Listener.OnClickListener(v, getPosition()); //回调接口 public interface ParkingOnClick{ void OnClickListener(View view,int Position); //点击事件 public void setOnclick(ParkingOnClick onclick) { this.onClick = onclick;}
应用
解析xml数据
private void InitData(){ String[] parkingArray = getResources().getStringArray(R.array.parking); for (int i = 0; i绑定
WeSwipe.attach(ParkingRecycler);private void InitRecycler(){ LinearLayoutManager manager = new LinearLayoutManager(this); ParkingRecycler.setLayoutManager(manager); adapter = new ParkingAdapter(dataList); ParkingRecycler.setAdapter(adapter); WeSwipe.attach(ParkingRecycler); }点击事件引用
adapter.setOnclick(new ParkingAdapter.ParkingOnClick() { @Override public void OnClickListener(View view, int Position) { //do anything... } });关于"Android侧滑按钮怎么实现"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
按钮
侧滑
事件
布局
文件
子项
效果
知识
适配器
适配
代码
函数
外层
接口
方法
行业
语句
不同
实用
接下来
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
如何测两台服务器网速
数据库原理及应用教程第4版提纲
河北pdu服务器电源哪种好
张湾区良好软件开发包括哪些
厦门 软件开发 公司
2021网络安全宣传周展板
pubg实名认证服务器
行云管家服务器备份
数据库关系图的画法
电大数据库应用考试题及答案
网络技术和开发运维
浪潮服务器raid如何配置
网络安全保卫大队工作内容
mysos 传输到服务器失败
2017网络安全市场
杭州宇宙网络技术有限公司
数据库结构导论自考试题
瑶海区专业性网络技术咨询哪家好
布吉网络安全
怎么给服务器添加模组网易版
国泰安数据库好还是win好
七年级网络安全
云服务器安全价格
70年代网络安全保卫
资阳市国家网络安全宣传
网络技术设备安全
服务器草稿位置有必要更改么
百度网络技术公司地址
云数据库安全性原理
服务器运行环境管理