Android 自定义控件实现阅读小说平移翻页效果

本文章借鉴与http://blog.csdn.net/zhongkejingwang/article/details/38728119

先来看一下我们最终实现的效果如何:

                                      

这个实现那,人家也在人家的CSDN中说的明明白白,那么我就来简单的说一下自己的一下思路:

首先,我们要为了节省空间资源,只需要三个界面来重复使用就可以了,当当前界面左滑的时候,把当前界面在左侧隐藏,这样下一页就可以显示在当前的界面上了;当右滑的时候,再把刚才隐藏的界面显示回来.

我们的PageAdapter.java是一个抽象类,getView()用于返回页面的布局,getCount()返回数据总共需要多少页,addContent(View view, int position)这个是每翻过一页后将会被调用来请求页面数据的,参数view就是页面,position是表明第几页。待会儿会在自定义布局中定义setAdapter方法设置设配器.

自定义一个布局叫ScanView继承自RelativeLayout,具体是干什么的人家在注释中也写的清清楚楚

写完这个布局后再写一个ScanViewAdapter继承PageAdapter,

最后在mainactivity.java中请求数据,拿到数据源,再对ScanView进行一个适配,就实现了上面平移翻阅小说的效果了

附上git地址:https://github.com/lixiaona1101/GGbook

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Studio 中实现自定义控件的过程如下: 1. 创建自定义控件类 在 Android Studio 中,创建一个继承自 View 或其子类的类,作为自定义控件的类。例如,创建一个名为 MyView 的自定义控件类: ```java public class MyView extends View { public MyView(Context context) { super(context); } public MyView(Context context, AttributeSet attrs) { super(context, attrs); } public MyView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); // 绘制控件的内容 } } ``` 2. 在布局文件中使用自定义控件 在布局文件中使用自定义控件,可以通过全限定类名的方式引用自定义控件类。例如,在布局文件中使用刚刚创建的 MyView 控件: ```xml <com.example.MyView android:layout_width="match_parent" android:layout_height="match_parent" /> ``` 3. 实现自定义控件的逻辑 在自定义控件类中,实现控件的逻辑。这包括控件的属性、事件和绘制等。例如,实现 MyView 控件的点击事件: ```java public class MyView extends View { private OnClickListener mClickListener; public MyView(Context context) { super(context); } public MyView(Context context, AttributeSet attrs) { super(context, attrs); } public MyView(Context context, AttributeSet attrs, int defStyleAttr) { super(context, attrs, defStyleAttr); } public void setOnClickListener(OnClickListener listener) { mClickListener = listener; } @Override public boolean onTouchEvent(MotionEvent event) { if (mClickListener != null && event.getAction() == MotionEvent.ACTION_UP) { mClickListener.onClick(this); return true; } return super.onTouchEvent(event); } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); // 绘制控件的内容 } } ``` 在这个例子中,我们实现了一个 onClickListener 方法,重写了 onTouchEvent 方法,当用户在控件上抬起手指时触发 onClick 事件。 以上就是在 Android Studio 中实现自定义控件的基本步骤。通过这些步骤,我们可以创建自定义的控件,并实现其属性、事件和绘制等逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值