用户名:林炳文 文章数:4 评论数:0
访问量:193:65:70:1 注册日期:2015-02-08
本文要实现手指在手机上向左或向右移动时,能相应的移动左右两个视图。通过自定义来实现,不借助第三方插件。实现的思路很简单,通过判断手指滑动的距离和速度来决定是否要滚动显示菜单项(左边图片)
先来看看效果:(源码免费下载)
目录:
一、实现思路
二、代码清单
三、效果与说明
下面,让我们开始吧:
一、实现思路
1.思路
菜单在左,内容在右,然后菜单显示时和手机右边框有一定的间隔,内容显示一小部分。内容全部显示时,菜单全部不可见。如下面两个图
显示内容
显示菜单
2.判断逻辑
这是判断手指按着屏幕和手指抬起时要不要显示还是隐藏菜单
二、代码清单
首先来看下布局:
<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/layout" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" tools:context=".MainActivity"> android:id="@+id/menu" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" android:background="@drawable/pn"> android:id="@+id/content" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="horizontal" android:background="@drawable/sn"> </LinearLayout> |
接下来看看代码,都有注释:
com.example.learningjava; importcom.example.learningjava.R.string; importandroid.R.integer; importandroid.R.menu; importandroid.os.AsyncTask; importandroid.os.Build; importandroid.os.Bundle; importandroid.annotation.SuppressLint; importandroid.annotation.TargetApi; importandroid.widget.LinearLayout.LayoutParams; importandroid.app.Activity; importandroid.util.DisplayMetrics; importandroid.util.Log; importandroid.view.Menu; importandroid.view.MotionEvent; importandroid.view.VelocityTracker; importandroid.view.Vie
订阅:
博文评论 (Atom)
|
没有评论:
发表评论