ViewPage 水平滑动加入刷新功能
来源:互联网 发布:oracle sql rowcount 编辑:程序博客网 时间:2024/06/11 04:13
package com.tuma.tutududu.story.module.music;import android.os.Bundle;import android.support.v4.view.ViewPager;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.TextView;import android.widget.Toast;import com.tuma.tutududu.story.R;import com.tuma.tutududu.story.module.classes.adapter.StoryPagerAdapter;public class MainActivity extends AppCompatActivity { StoryPagerAdapter mStoryPagerAdapter=null; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ViewPager viewPager= (ViewPager) findViewById(R.id.viewPage); viewPager.setAdapter(mStoryPagerAdapter=new StoryPagerAdapter(this)); viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() { @Override public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) { } @Override public void onPageSelected(int position) { viewPager.postDelayed(new Runnable() { @Override public void run() { if(position==mStoryPagerAdapter.getCount()-2){//滑动到倒数第二个 开始模拟网络请求mStoryPagerAdapter.setStorySize(30); View view=viewPager.findViewById(position); if(view!=null){ TextView textView= (TextView) view.findViewById(R.id.tv_text); textView.setVisibility(View.VISIBLE); mStoryPagerAdapter.notifyDataSetChanged(); Toast.makeText(MainActivity.this,"数据加载成功",Toast.LENGTH_SHORT).show(); } } } },1000); } @Override public void onPageScrollStateChanged(int state) { } }); }}
2.ViewPageAdapter 的使用
package com.tuma.tutududu.story.module.classes.adapter;import android.content.Context;import android.support.v4.view.PagerAdapter;import android.view.View;import android.view.ViewGroup;import com.tuma.tutududu.story.R;import java.util.ArrayList;/** * Created by VS on 2017/11/14. */public class StoryPagerAdapter extends PagerAdapter{ ArrayList storyList=new ArrayList(); private Context mcontext; int StorySize=10; public StoryPagerAdapter(Context context){ this.mcontext=context; } @Override public int getCount() { return StorySize; } public void setStorySize(int size){ this.StorySize=size; } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } @Override public Object instantiateItem(ViewGroup container, int position) { View childView=View.inflate(mcontext, R.layout.constraintlayout_lay,null); View mview=childView.findViewById(R.id.tv_text); container .addView (childView); childView.setId(position); if(position==getCount()-1){ mview.setVisibility(View.INVISIBLE); } return childView; } @Override public int getItemPosition(Object object) { return POSITION_NONE; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((View) object); }}
3.布局
<?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="com.tuma.tutududu.story.module.music.MainActivity"> <android.support.v4.view.ViewPager android:id="@+id/viewPage" android:background="@android:color/darker_gray" android:layout_width="match_parent" android:layout_height="wrap_content"> </android.support.v4.view.ViewPager></RelativeLayout>
4.viewPagerAdapter 中的布局
<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/tv_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textSize="80dp" android:text="1345611"/> <View android:id="@+id/view" android:layout_width="1dp" android:background="@color/cardview_dark_background" android:layout_alignParentRight="true" android:layout_height="match_parent"/></RelativeLayout>
阅读全文
0 0
- ViewPage 水平滑动加入刷新功能
- android ListView嵌套ViewPage 并且包含下拉刷新,滑动viewpage冲突的修复办法
- ANDROID图片浏览(带水平滑动的GridView和类似gallery的ViewPage)
- viewpage禁止滑动--android
- ViewPage判断左右滑动
- viewpage禁止滑动--android
- ViewPage判断左右滑动
- ViewPage 屏蔽滑动事件
- ViewPage滑动冲突解决办法
- Android Viewpage禁止滑动
- viewpage禁止滑动--android
- viewpage禁止滑动
- ViewPage 循环滑动bug
- ViewPage判断左右滑动
- ViewPage判断左右滑动
- 不滑动的viewpage
- viewpage+fragment+下划线滑动
- ViewPage 翻页滑动
- 【Android源码系列】ContentProvider启动源码解析
- [http 1.1] M-POST
- JDBC链接Msql数据库
- greendao 3.0使用增删改查
- CSS:去除点击链接和按钮时出现的虚线框
- ViewPage 水平滑动加入刷新功能
- mt6735 [Audio Common] speaker播第一下触摸提示音时有时无声
- app( activity) 启动流程
- Java中Comparable和Comparator区别小结
- Spring-boot 启动时碰到的错误
- Linux 任务执行
- Android Studio3.0后依赖ButterKnife不成功的解决方法
- wrk-服务器压力测试工具的使用(一)
- log4j ----->flume