- 浏览: 538577 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
tangyunliang:
大哥你太历害了谢谢
Android基于XMPP Smack Openfire开发IM【四】初步实现两个客户端通信 -
u013015029:
LZ,请问下,在// 添加消息到聊天窗口 , 这里获取Ed ...
Android基于XMPP Smack Openfire开发IM【四】初步实现两个客户端通信 -
endual:
怎么保持会话,我搞不懂啊
Android基于XMPP Smack Openfire开发IM【一】登录openfire服务器 -
donala_zq:
显示:[2013-11-30 11:50:36 - Andro ...
android-----------新浪微博 -
donala_zq:
哥,运行不了啊
android-----------新浪微博
第一个界面图:
[img]
[/img]
滑动过程中效果图:
[img]
[/img]
最后一个界面图:
[img]
[/img]
主Activity:
同志们,sorry,sorry,我的错,请吧//mCurrentViewID = currentID; 这个注释放开,要不手势的界面与Button的操控就不同步了
修改按钮位置(位于屏幕两边)效果图:
[img]
[/img]
这样的效果,请下第二个 rar
[img]
[/img]
滑动过程中效果图:
[img]
[/img]
最后一个界面图:
[img]
[/img]
主Activity:
package blog.csdn.net.liyulei316686082; import java.lang.reflect.Field; import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.opengl.Visibility; import android.os.Bundle; import android.support.v4.view.ViewPager; import android.support.v4.view.ViewPager.OnPageChangeListener; import android.util.Log; import android.view.View; import android.view.View.OnClickListener; import android.view.animation.AccelerateInterpolator; import android.widget.Button; import android.widget.Toast; public class ViewPagerDemoActivity extends Activity { /** Called when the activity is first created. */ private ViewPager mViewPager = null; private Button mLeft = null; private Button mRight = null; private static final int PAGER_NUM = 10;//10个页面 private int mCurrentViewID = 0; //当前页面 private int mMyDuration = 100; //持续时间 private FixedSpeedScroller mScroller; private YLeiPageAdapter mYLeiPageAdapter = null; private List<View> mListViews; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mViewPager = (ViewPager)findViewById(R.id.viewpager); mLeft = (Button)findViewById(R.id.left); mRight = (Button)findViewById(R.id.right); mLeft.setOnClickListener(mOnClickListener); mRight.setOnClickListener(mOnClickListener); mLeft.setVisibility(View.INVISIBLE); mListViews = new ArrayList<View>(); for(int i= 1; i<= PAGER_NUM; i++){ MyPagerView view = new MyPagerView(this, i); mListViews.add(view); } mYLeiPageAdapter = new YLeiPageAdapter(this, mListViews); mViewPager.setAdapter(mYLeiPageAdapter); mViewPager.setOnPageChangeListener(mOnPageChangeListener); /*主要代码段*/ try { Field mField = ViewPager.class.getDeclaredField("mScroller"); mField.setAccessible(true); //设置加速度 ,通过改变FixedSpeedScroller这个类中的mDuration来改变动画时间(如mScroller.setmDuration(mMyDuration);) mScroller = new FixedSpeedScroller(mViewPager.getContext(), new AccelerateInterpolator()); mField.set(mViewPager, mScroller); } catch (Exception e) { e.printStackTrace(); } } private OnClickListener mOnClickListener = new OnClickListener(){ @Override public void onClick(View v) { switch (v.getId()){ case R.id.left: if(mCurrentViewID > 0){ mCurrentViewID--; mViewPager.setCurrentItem(mCurrentViewID, true); Toast.makeText(getApplicationContext(), mCurrentViewID+"", 0).show(); mMyDuration -= 100; mScroller.setmDuration(1000); Log.i("TAG", "mCurrentViewID==="+mCurrentViewID); } break; case R.id.right: if(mCurrentViewID < PAGER_NUM-1){ mCurrentViewID++; mViewPager.setCurrentItem(mCurrentViewID, true); mMyDuration += 100; mScroller.setmDuration(1000); Log.i("TAG", "mCurrentViewID==="+mCurrentViewID); } break; } }}; private OnPageChangeListener mOnPageChangeListener = new OnPageChangeListener(){ @Override public void onPageScrollStateChanged(int arg0) { // TODO Auto-generated method stub } @Override public void onPageScrolled(int arg0, float arg1, int arg2) { // TODO Auto-generated method stub } @Override public void onPageSelected(int currentID) { // TODO Auto-generated method stub //mCurrentViewID = currentID; if(currentID==0){ mLeft.setVisibility(View.INVISIBLE); } if(currentID!=0){ mLeft.setVisibility(View.VISIBLE); } if(currentID==mListViews.size()-1){ mRight.setVisibility(View.INVISIBLE); } if(currentID!=mListViews.size()-1){ mRight.setVisibility(View.VISIBLE); } }}; }
同志们,sorry,sorry,我的错,请吧//mCurrentViewID = currentID; 这个注释放开,要不手势的界面与Button的操控就不同步了
修改按钮位置(位于屏幕两边)效果图:
[img]
[/img]
这样的效果,请下第二个 rar
- ViewPagerDemo.rar (561.2 KB)
- 下载次数: 31
- ViewPagerDemo.rar (561.2 KB)
- 下载次数: 65
发表评论
-
Android中如何模拟一次点击(touch)事件
2014-05-06 10:41 0在Android中有时需要模拟某一个View的touch事件, ... -
Android程序Crash时的异常上报
2014-04-28 18:15 0http://blog.csdn.net/singwhatiw ... -
android程序中证书签名校验的方法
2014-04-28 17:58 2022android程序中证书签名校验的方法一 2013-02 ... -
MD5理解错了,哎
2014-03-17 14:14 0MD5只对数据加密是无法解密的,也就是说,你把100加密后,就 ... -
Android 获取网络时间
2014-03-12 11:42 2048Android 获取网络时间 在网上看到的最常见的方式有: ... -
SQLite清空表并将自增列归零
2014-03-05 18:02 1561SQLite清空表并将自增列归零 作者:Zhu Yanfeng ... -
Handler小看一下
2013-11-11 16:42 0android handler调用post方法还是阻塞 su ... -
Frame Animation小看一下
2013-10-12 16:30 817Demo运行效果图: 源码: -
动画小学一下
2013-10-12 16:14 745转自: http://www.eoeandroid.com/f ... -
Android 动画之ScaleAnimation应用详解
2013-10-12 15:49 1026===============eoeAndroid社区推荐:= ... -
android开发中的一个工具类
2013-06-19 16:04 0package com.wanpu.login.dialog; ... -
android TextView怎么设置个别字体颜色并换行?
2013-06-20 09:25 1711(1)、TextView 设置个别字体颜色 TextView ... -
Android开发之文件下载,状态时显示下载进度,点击自动安装
2013-05-07 15:38 1445在进行软件升级时,需要进行文件下载,在这里实现自定义的文件下载 ... -
android中的状态保存
2013-04-07 14:21 986package com.zzl.call; import ... -
android动画基础:tween动画
2013-04-06 11:21 1268工程结构图: [img] [/img] 四个动画的xml ... -
面试中遇到的几个问题
2013-06-09 11:56 1025SAX与DOM之间的区别 SAX ( ... -
Android获取其他包的Context实例,然后调用它的方法,反射!!!
2013-03-25 10:32 1234Android中有Context的概念,想必大家都知道。Con ... -
Android的内存机制和常见泄漏情形
2013-03-06 16:55 804一、 Android的内存机制 Android的程序由Ja ... -
JUnit测试小小demo
2013-03-06 16:37 1187运行效果图: [img] [/img] 项目结构图 ... -
android开发中的异常小工具
2013-03-04 15:53 906package com.zzl.tools; impor ...
相关推荐
本篇文章将深入探讨如何调整ViewPager的滑动速度以及如何通过按钮实现页面的滑动。 首先,我们要理解ViewPager的工作原理。ViewPager依赖于`PagerAdapter`(如`FragmentPagerAdapter`或`PagerAdapter`)来加载和...
最后,在Activity或Fragment中设置ViewPager的Adapter,并根据需求配置其滑动效果: ```java ViewPager viewPager = findViewById(R.id.view_pager); List<Fragment> fragments = new ArrayList(); // 添加Fragment...
4. **设置Adapter**:在你的Activity中,实例化ViewPager,并将之前创建的PagerAdapter设置给它。例如: ```java ViewPager viewPager = findViewById(R.id.view_pager); viewPager.setAdapter(new ...
5. 在`SlidingMenu`的菜单项中,你可以添加按钮或者其他触发器,当用户点击时,切换`ViewPager`的当前页面。 最后,为了提高用户体验,你可能还需要考虑一些额外的细节,比如添加指示器来显示当前页面,或者根据...
实现禁止ViewPager滑动的方法是通过自定义一个不滑动的ViewPager控件,继承于ViewPager,并重写其onTouchEvent方法,使其返回true,以便忽略触摸事件。下面是一个简单的示例代码: public class MyViewPager ...
【标题】"viewpager滑动引导页"是一个常见的Android应用设计模式,用于向初次使用应用的用户介绍其主要功能和操作流程。ViewPager是Android SDK中的一个组件,它允许用户在多个页面间进行平滑的左右滑动切换,非常...
在Android开发中,ViewPager是一种非常常用的组件,它允许用户通过左右滑动来浏览多个页面,非常适合用来实现诸如轮播图、Tab切换等效果。在这个"ViewPager自定义漂亮滑动卡片"的主题中,我们将深入探讨如何利用...
本篇文章将深入探讨如何利用ViewPager加载自定义View,并通过左右按钮控制页面滑动,同时实现点击删除按钮删除当前显示内容的功能。 首先,我们需要了解ViewPager的基本用法。ViewPager继承自ViewGroup,它会根据...
【描述】提到的是一个关于ViewPager实现的滑动加载大图和点击关注效果的示例项目。这个项目可能包含多个页面,每个页面展示一张大图,并且在用户交互时,例如点击某个元素(可能是“关注”按钮),可以触发特定的...
现在,当用户点击底部导航栏的按钮时,`ViewPager`会自动切换到对应的`Fragment`,并且`TabLayout`会更新当前选中的标签。 在实际开发中,`BaiDuPager`可能是一个已经封装好的库或者示例项目,它可能包含了上述功能...
`TabLayout` 提供了可自定义的标签,用户可以通过点击这些标签来切换不同的页面,而 `ViewPager` 则负责管理这些页面的滑动切换效果。在本项目中,我们将探讨如何结合使用这两个组件,实现既可点击又可滑动的页面...
我们无法看到具体的实现细节,但可以推测开发者可能创建了一个包含抽屉菜单的主活动,里面包含一个`ViewPager`展示多个页面,每个页面上可能有一个输入框供用户输入RPN表达式,点击按钮后调用`TestCalculator`进行...
2. 设置OnCheckedChangeListener:为RadioGroup添加一个OnCheckedChangeListener监听器,当用户点击RadioButton时,可以通过事件回调获取选中的按钮,并据此更新ViewPager的当前页面。 3. 绑定ViewPager和...
`ViewPager`通常用于实现页面间的左右滑动切换,而`RadioGroup`则是用来管理一组单选按钮(RadioButton),让用户在多个选项中选择一个。本篇文章将深入探讨如何在Android应用中实现`ViewPager`与`RadioGroup`的滑动...
在本案例中,我们需要实现一个功能,即用户在主页面点击按钮后,显示三张可以左右滑动的图片,当滑动到最后一页时,再次滑动则返回到带有按钮的初始页面。 首先,我们需要理解ViewPager的工作原理。ViewPager是...
接下来,将`ViewPager`添加到你的主Activity布局中,并在Activity的`onCreate()`方法中设置`ViewPager`的适配器。适配器将链接到之前创建的`FragmentPagerAdapter`实例,这样`ViewPager`就知道了应该加载哪些`...
在Android开发中,RadioGroup和ViewPager是两种常用的组件,它们分别用于实现单选按钮的管理以及页面间的滑动切换。本篇文章将详细讲解如何结合RadioGroup和ViewPager来创建一个可以左右滑动并且通过点击RadioGroup...