viewPager监听示例
来源:互联网 发布:java jms 编辑:程序博客网 时间:2024/06/18 07:41
本文章是主要探讨viewPager监听的四个方法的作用
首先需要两个布局文件
主布局:
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="my.microsoft.com.viewpagerdemo2.MainActivity"> <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v4.view.PagerTabStrip android:id="@+id/tabstrip" android:layout_width="wrap_content" android:layout_height="wrap_content" > </android.support.v4.view.PagerTabStrip> </android.support.v4.view.ViewPager></RelativeLayout>
item布局:
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="tab1"/></LinearLayout>
MainActivity
代码:package my.microsoft.com.viewpagerdemo2;import android.graphics.Color;import android.support.v4.view.PagerAdapter;import android.support.v4.view.PagerTabStrip;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.text.Layout;import android.util.Log;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity { private ViewPager viewPager=null; private PagerTabStrip pagerTabStrip=null; List<View> viewlist=new ArrayList<>(); List<String> titlelist=new ArrayList<>(); LayoutInflater layoutInflater=null; Myadapter myadapter=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); viewPager= (ViewPager) this.findViewById(R.id.viewpager); pagerTabStrip= (PagerTabStrip) this.findViewById(R.id.tabstrip); //标签背景色 pagerTabStrip.setBackgroundColor(Color.YELLOW); //标签下划线颜色 pagerTabStrip.setTabIndicatorColor(Color.BLUE); layoutInflater=LayoutInflater.from(this); View view1= layoutInflater.inflate(R.layout.tab1,null); viewlist.add(view1); titlelist.add("title"); myadapter=new Myadapter(); viewPager.setAdapter(myadapter); viewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() { //页面被滑动,或者被触碰的时候被调用 @Override public void onPageScrolled(int a, float b, int c) { Log.i("aaa","--a->>"+a); Log.i("aaa","--b->>"+b); Log.i("aaa","--c->>"+c); Log.i("aaa","---------------------------------------------"); } //一个新的页面被选中时调用 @Override public void onPageSelected(int position) { Log.i("aaa","--position->>"+position); } //滚动状态更改时调用 @Override public void onPageScrollStateChanged(int d) { //在这个方法中加载下一页网络数据比较合理,因为这个方法如果执行了,那一定是开启了一个新的页面 View view2=layoutInflater.inflate(R.layout.tab1,null); viewlist.add(view2); titlelist.add("new title"); myadapter.notifyDataSetChanged(); Log.i("aaa","*****-d-****"+d); Log.i("aaa","******************"); } }); } class Myadapter extends PagerAdapter{ //标签的个数 @Override public int getCount() { return viewlist.size(); } @Override public Object instantiateItem(ViewGroup container, int position) { ((ViewPager)container).addView(viewlist.get(position)); return viewlist.get(position); } @Override public void destroyItem(ViewGroup container, int position, Object object) { ((ViewPager)container).removeView(viewlist.get(position)); } @Override public boolean isViewFromObject(View view, Object object) { return view==object; } @Override public CharSequence getPageTitle(int position) { return titlelist.get(position); } }}
0 0
- viewPager监听示例
- ViewPager监听
- android viewpager 滑动监听
- ViewPager滚动监听解释
- viewpager的滑动监听
- ViewPager滑动监听
- Viewpager的监听事件
- Android ViewPager 监听滑动
- viewPager滑动监听
- ViewPager滑动监听
- ViewPager的滑动监听
- ViewPager 监听的问题
- Android-viewpager滑动监听
- 监听原理----自定义监听--示例
- Fragment+ViewPager使用示例
- ViewPager+Animation简单示例
- ViewPager简单示例
- Android ViewPager监听其控件
- 计算机是如何识别什么时候该把两个字节转换为一个中文
- iOS_逆向_使用debugserver
- [Cloud Computing]Mechanisms: Automated Scaling Listener
- Java泛型类,方法使用,Java继承的歪解
- springmvc的控制器是单例的
- viewPager监听示例
- iOS开发中的一些常用方法(二)
- 【实习日记】第一天上班
- ThreadLocal
- linux下mysql的root密码忘记解决方法
- Regular expression to match PHP function names
- 手机里竟然有这么多传感器!终于都搞懂了
- flex Datagrid数据列双击事件实现
- viewpager与碎片的结合