资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

android页面滑动,android左右滑动是怎么做的

android平台中页面切换时如果要用触摸屏左右滑动,怎么实现?

左右滑动切换是通过viewPager来实现的,完整代码查看附件。

创新互联专业为企业提供双辽网站建设、双辽做网站、双辽网站设计、双辽网站制作等企业网站建设、网页设计与制作、双辽企业网站模板建站服务,十载双辽做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。

ViewPager的数据是通过PageAdapter来装载的:

1. 调用adapter.notifyDataSetChanged(); 刷新控件,但是要覆盖PagerAdapter的getItemPosition方法,并返回 return POSITION_NONE;

2. 利用PagerAdapter的工作机制,就是PagerAdapter的执行顺序, PagerAdapter作为ViewPager的适配器,无论ViewPager有多少页,PagerAdapter在初始化时也只初始化开始的2个View,即调用2次instantiateItem方法。而接下来每当ViewPager滑动时,PagerAdapter都会调用destroyItem方法将距离该页2个步幅以上的那个View销毁,以此保证PagerAdapter最多只管辖3个View,且当前View是3个中的中间一个,如果当前View缺少两边的View,那么就instantiateItem,如里有超过2个步幅的就destroyItem。

3. 每当Adapter调用instantiateItem时,运用View.setTag方法将该View标识。当需要更新这个View的数据时,通过调用ViewPager.findViewWithTag方法找到相应的View,然后更新View中的数据。

怎么样有滑动效果 android

android的滑动效果是通过View容器类ViewFlipper来实现的。

ViewFilpper 是Android官方提供的一个View容器类,继承于ViewAnimator类,用于实现页面切换,也可以设定时间间隔,让它自动播放。

又ViewAnimator继承至于FrameLayout的,所以ViewFilpper的Layout里面可以放置多个View,继承关系如下:

1、activity的写法如下:

import android.app.Activity;

import android.os.Bundle;

import android.view.GestureDetector;

import android.view.MotionEvent;

import android.view.ViewGroup.LayoutParams;

import android.view.animation.Animation;

import android.view.animation.AnimationUtils;

import android.widget.ImageView;

import android.widget.ViewFlipper;

public class ViewFlipperActivity extends Activity implements android.view.GestureDetector.OnGestureListener {

private int[] imgs = { R.drawable.img1, R.drawable.img2,

R.drawable.img3, R.drawable.img4, R.drawable.img5 };

private GestureDetector gestureDetector = null;

private ViewFlipper viewFlipper = null;

private Activity mActivity = null;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

mActivity = this;

viewFlipper = (ViewFlipper) findViewById(R.id.viewflipper);

gestureDetector = new GestureDetector(this);    // 声明检测手势事件

for (int i = 0; i  imgs.length; i++) {          // 添加图片源

ImageView iv = new ImageView(this);

iv.setImageResource(imgs[i]);

iv.setScaleType(ImageView.ScaleType.FIT_XY);

viewFlipper.addView(iv, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));

}

viewFlipper.setAutoStart(true);         // 设置自动播放功能(点击事件,前自动播放)

viewFlipper.setFlipInterval(3000);

if(viewFlipper.isAutoStart()  !viewFlipper.isFlipping()){

viewFlipper.startFlipping();

}

}

@Override

public boolean onTouchEvent(MotionEvent event) {

viewFlipper.stopFlipping();             // 点击事件后,停止自动播放

viewFlipper.setAutoStart(false);

return gestureDetector.onTouchEvent(event);         // 注册手势事件

}

@Override

public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {

if (e2.getX() - e1.getX()  120) {            // 从左向右滑动(左进右出)

Animation rInAnim = AnimationUtils.loadAnimation(mActivity, R.anim.push_right_in);  // 向右滑动左侧进入的渐变效果(alpha  0.1 - 1.0)

Animation rOutAnim = AnimationUtils.loadAnimation(mActivity, R.anim.push_right_out); // 向右滑动右侧滑出的渐变效果(alpha 1.0  - 0.1)

viewFlipper.setInAnimation(rInAnim);

viewFlipper.setOutAnimation(rOutAnim);

viewFlipper.showPrevious();

return true;

} else if (e2.getX() - e1.getX()  -120) {        // 从右向左滑动(右进左出)

Animation lInAnim = AnimationUtils.loadAnimation(mActivity, R.anim.push_left_in);       // 向左滑动左侧进入的渐变效果(alpha 0.1  - 1.0)

Animation lOutAnim = AnimationUtils.loadAnimation(mActivity, R.anim.push_left_out);     // 向左滑动右侧滑出的渐变效果(alpha 1.0  - 0.1)

viewFlipper.setInAnimation(lInAnim);

viewFlipper.setOutAnimation(lOutAnim);

viewFlipper.showNext();

return true;

}

return true;

}

@Override

public boolean onDown(MotionEvent e) {

return false;

}

@Override

public void onLongPress(MotionEvent e) {

}

@Override

public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {

return false;

}

@Override

public void onShowPress(MotionEvent e) {

}

@Override

public boolean onSingleTapUp(MotionEvent e) {

return false;

}

}

2、main.xml配置文件:

?xml version="1.0" encoding="utf-8"?

LinearLayout xmlns:android=""  

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" 

ViewFlipper

android:id="@+id/viewflipper"

android:layout_width="fill_parent"

android:layout_height="fill_parent"/

/LinearLayout

以上完成了手势滑屏:

手势滑动屏幕动画,是通过android.view.GestureDetector类检测各种手势事件实现的,该类有两个回调接口(Interface)

A、GestureDetector.OnDoubleTapListener,用来通知DoubleTap双击事件,类似于鼠标的双击事件,接口三个抽象回调函数如下

1、onDoubleTap(MotionEvent e):DoubleTap双击手势事件后通知(触发)

2、onDoubleTapEvent(MotionEvent e):DoubleTap双击手势事件之间通知(触发),包含down、up和move事件(这里指的是在双击之间发生的事件,例如在同一个地方双击会产生DoubleTap手势,而在DoubleTap手势里面还会发生down和up事件,这两个事件由该函数通知)

3、onSingleTapConfirmed(MotionEvent e):用来判定该次点击是SingleTap而不是DoubleTap,如果连续点击两次就是DoubleTap手势;那么如果只点击一次,系统等待一段时间后没有收到第二次点击则判定该次点击为SingleTap而不是DoubleTap,此时触发的就是SingleTapConfirmed事件

android实现上下滑动

布局最外包一层滚动条

ScrollView

android:id="@+id/scrollView1"

android:layout_width="match_parent"

android:layout_height="wrap_content" 

LinearLayout

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical" 

/LinearLayout

/ScrollView

强制横竖屏

在配置文件中对Activity节点添加android:screenOrientation属性(landscape是横向,portrait是纵向)

android中如何实现滑动activity?如何左右滑动实现activity的切换?

你是要滑动切换activity还是页面?如果是activity的话你可以给当前页面添加手势,滑动的时候实现activity的切换然后给activity添加切换动画,如果是像qq那种效果可以用tab来做,实现效果很不错,或者activitygroup,还可以用fragment来做,这些实现效果都不错。如果是页面滑动切换,可以用viewpager,这个效果很好,代码能力强就用viewgroup的滚动来实现,效果也还可以。

android开发中,怎么实现上下滑动,不是ScrollView,我要的是一次滑动整个页面,跟横向滑动效果一样。。

可以通过framelayout进行布局,在该布局中放置多个页面,默认只让第一个页面VISIBLE,其他的NONE,然后写一个触摸监听器,监听你的手势是上下还是左右,相应的显示相应的页面,隐藏其他的页面。这样应该可以实现了同一个Activity之间切换多个页面,我以前刚刚实现了类似的效果,只不过是通过点击Activity上不同的导航条块。

Android怎样实现左右滑动

建立工程

1

打开android开发平台

2

建立新的工程,点击file. -new-project.选择Android Application Project,点击Next.

3

填写工程名,选择创建的android版本。图例工程名为zuoyouhuadong 版本为android2.2.填好之后点击next

4

下面进入前景色和背景色等的设置,若不属性可直接点击next

5

继续点击next

6

可以编辑Activity Name名字,避免所有的工程都一个名字,运行的时候不知道都是哪一个工程。点击finish.工程创建完毕。

END

添加图片到工程

1

网上下载或者本地选取图片四张。(图片名字最好改为英文)

2

适当缩小 工程软件窗口,点击图片aa,拖放到zuoyouhuadong-res-drawable-hapi上,会提示你是否将图片复制进工程。

3

选择是OK

4

可以看到工程中已经有你的图片了。

5

按照本段2--4步骤把其他三张图片添加进工程。 添加图片的准备工作完毕。

END

代码实现左右滑动

1

目标转向主编辑框,视图界面转到代码界面。

2

代码实现左右滑动功能。主要用HorizontalScrollView 。主要代码如下:HorizontalScrollView xmlns:android=""

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:scrollbars="none"

android:id="@+id/ScrollView"

LinearLayout

android:orientation="horizontal"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

ImageView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:src="@drawable/aa"

android:layout_weight="1"

android:scaleType="fitXY" /

ImageView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:src="@drawable/bb"

android:scaleType="fitXY"/

ImageView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:src="@drawable/cc"

android:scaleType="fitXY"/

ImageView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:src="@drawable/dd"

android:scaleType="fitXY"/

/LinearLayout

/HorizontalScrollView全

部代码截图如下。

3

部分主要代码解析:

android:scrollbars="none" 设置是否有滑动条;

android:scaleType="fitXY" 设置图片自适应;

android:src="@drawable/aa" 设置加载的图片;

android:layout_width="wrap_content"设置宽属性;

android:layout_height="wrap_content"设置长属性。

END

运行查看效果

右键工程,点击run,等待虚拟器启动运行程序

2

解锁,查看效果 。本例中图片大小未调整,稍微欠缺一点美观效果,请读者体谅。希望大家支持,并共同学习。


分享标题:android页面滑动,android左右滑动是怎么做的
本文链接:http://cdkjz.cn/article/dsdheed.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220