美文网首页
An_viewpager+小圆点02

An_viewpager+小圆点02

作者: android_en | 来源:发表于2017-10-26 12:01 被阅读21次

Version:1.0StartHTML:0000000128EndHTML:0000019763StartFragment:0000000128EndFragment:0000019763SourceURL:about:blank

packagecom.example.taodemo;

importandroid.content.Context;

importandroid.os.AsyncTask;

importandroid.os.Handler;

importandroid.os.Message;

importandroid.support.v4.view.PagerAdapter;

importandroid.support.v4.view.ViewPager;

importandroid.support.v7.app.AppCompatActivity;

importandroid.os.Bundle;

importandroid.support.v7.widget.LinearLayoutCompat;

importandroid.view.View;

importandroid.view.ViewGroup;

importandroid.view.ViewParent;

importandroid.widget.ImageView;

importandroid.widget.LinearLayout;

importjava.lang.ref.WeakReference;

importjava.util.ArrayList;

importjava.util.List;

public classMainActivityextendsAppCompatActivity {

ViewPagervp;

intindex=0;

Listlist_doc;

Listlist_vp;

intimages[]={R.mipmap.ic_launcher,R.mipmap.ic_launcher,R.mipmap.ic_launcher,R.mipmap.ic_launcher};

Handlerhandler=newHandler();

@Override

protected voidonCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

vp= (ViewPager) findViewById(R.id.main_vp);

initvpData();

}

private voidinitvpData() {

newAsyncTask(){

@Override

protectedString doInBackground(String... strings) {

return null;

}

@Override

protected voidonPostExecute(String s) {

initvp();

super.onPostExecute(s);

}

}.execute();

}

private voidinitvp() {

list_vp=newArrayList<>();

for(inti=0;i<4;i++){

ImageView imgv=newImageView(this);

imgv.setScaleType(ImageView.ScaleType.FIT_XY);

imgv.setImageResource(images[i]);

list_vp.add(imgv);

}

MyAdapter myAdapter=newMyAdapter();

vp.setAdapter(myAdapter);

handler.postDelayed(newRunnable() {

@Override

public voidrun() {

index=vp.getCurrentItem();

index++;

vp.setCurrentItem(index);

handler.postDelayed(this,3000);

}

},3000);

initDoc();

vp.addOnPageChangeListener(newViewPager.OnPageChangeListener() {

@Override

public voidonPageScrolled(intposition,floatpositionOffset,intpositionOffsetPixels) {

}

@Override

public voidonPageSelected(intposition) {

//                int index=position%list_doc.size();

for(inti=0;i

if(i==position%images.length){

list_doc.get(i).setImageResource(R.drawable.doc_check);

}else{

list_doc.get(i).setImageResource(R.drawable.doc_uncheck);

}

}

//                list_doc.get(index);

}

@Override

public voidonPageScrollStateChanged(intstate) {

}

});

}

private voidinitDoc() {

LinearLayout ll_doc= (LinearLayout) findViewById(R.id.ll_doc);

list_doc=newArrayList();

if(list_vp!=null){

for(inti=0;i

ImageView iv=newImageView(MainActivity.this);

LinearLayoutCompat.LayoutParamsparams=newLinearLayoutCompat.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);

params.rightMargin=10;

iv.setLayoutParams(params);

if(i==0){

iv.setImageResource(R.drawable.doc_check);

}else{

iv.setImageResource(R.drawable.doc_uncheck);

}

ll_doc.addView(iv,params);

list_doc.add(iv);

}

}

}

classMyAdapterextendsPagerAdapter{

@Override

public intgetCount() {

return10000;

}

@Override

public booleanisViewFromObject(View view, Object object) {

returnview==object;

}

@Override

publicObject instantiateItem(ViewGroup container,intposition) {

position%=list_vp.size();

if(position<0){

position=list_vp.size()+position;

}

ImageView view=list_vp.get(position);

ViewParent viewParent=view.getParent();

if(viewParent!=null){

ViewGroup parent= (ViewGroup) viewParent;

parent.removeView(view);

}

container.addView(view);

returnview ;

}

@Override

public voiddestroyItem(ViewGroup container,intposition, Object object) {

}

}

}

相关文章

  • An_viewpager+小圆点02

    Version:1.0StartHTML:0000000128EndHTML:0000019763StartFra...

  • An_viewpager+小圆点

    MainActivity 两个shape类型的drawable---xml 主布局

  • 今天,你用“小圆点”了吗?

    今天,你用“小圆点”了吗? 嘿! 今天,你用“小圆点”了吗? 一、“小圆点”是什么? 你可能不知道什么是 Assi...

  • 呼吸轮播图心得

    思路: 1.点击按钮,改变显示的图片。同时改变对应小圆点的颜色。 2.点击小圆点,改变小圆点颜色,显示对应的图片。...

  • 轮播图

    鼠标进入停止 鼠标离开开始 按钮的监听 小圆点的监听 更换小圆点函数

  • 车牌小圆点的作用

    细心的车主们一定会发现,我们的车牌上普遍都会有一个小圆点,对于这个小圆点究竟有什么作用呢?我们来看下。 车牌小圆点...

  • 引导页 - 滚动视图 - 轮播图

    设置滚动视图的协议: 设置滚动视图 设置图片 设置小圆点 实现滚动视图的协议方法 -- 图片与小圆点关联

  • 【jQuery】淘宝banner轮播

    思路 通过banner下方的小圆点,控制图片的切换。 给左右箭头添加点击事件(点击时切换图片,并且下方的小圆点跟着...

  • iOS手势事件

    什么是手势? 用过苹果手机的朋友都知道,我们的屏幕上有个"小圆点","小圆点"当你对它做出不同动作的时候会有不同的...

  • css 写小圆点

    有需求要做小圆点,我初始写法如下 浏览器上无问题,真机实测发现小圆点变成了小方点,后改为如下 增加border属性

网友评论

      本文标题:An_viewpager+小圆点02

      本文链接:https://www.haomeiwen.com/subject/xdiiyxtx.html