viewpage显示服务器图片,viewpage轮播图

public class MainActivity extends AppCompatActivity implementsViewPager.OnPageChangeListener {privateViewPager viewPager;private int[] imageResIds;private ArrayListimageViewList;private ArrayListpointViews;privateLinearLayout ll_point_container;privateString[] contentDesc;privateTextView tv_desc;private int lastEnablePoint = 0;private boolean isRunning = true;privateHandler handler;privateRunnable runnable;

@Overrideprotected voidonCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);//初始化布局 View 视图

initViews();//Model 数据

initData();//Controller 控制器

initAdapter();//1.

handler = newHandler();

runnable= newRunnable() {

@Overridepublic voidrun() {

viewPager.setCurrentItem(viewPager.getCurrentItem()+ 1);

handler.postDelayed(this, 2000);

}

};//2//mTimer.schedule(mTimerTask, 2000, 2000);//3//handler.postDelayed( runnable, 2000 );//开启轮询//new Thread() {//public void run() {//while(isRunning) {//try {//Thread.sleep(2000);//} catch (InterruptedException e) {//e.printStackTrace();//}// //往下跳一位//runOnUiThread(new Runnable() {//@Override//public void run() {//viewPager.setCurrentItem(viewPager.getCurrentItem() + 1);//}//});//}//

//}//}.start();

}

@Overrideprotected voidonPause() {super.onPause();

handler.removeCallbacksAndMessages(null);

}

@Overrideprotected voidonResume() {super.onResume();

handler.postDelayed( runnable,2000);

}

@Overrideprotected voidonDestroy() {super.onDestroy();

isRunning= false;

}private voidinitViews() {

viewPager=(ViewPager) findViewById(R.id.viewpager);

viewPager.setOnPageChangeListener(this);//设置滚动更新

viewPager.setOnTouchListener(newView.OnTouchListener() {

@Overridepublic booleanonTouch(View v, MotionEvent event) {switch(event.getAction()) {caseMotionEvent.ACTION_DOWN:caseMotionEvent.ACTION_MOVE:

handler.removeCallbacksAndMessages(null);break;caseMotionEvent.ACTION_UP:

handler.postDelayed( runnable,2000);break;

}return false;

}

});

tv_desc=(TextView) findViewById(R.id.tv_desc);

ll_point_container=findViewById(R.id.ll_point_container);

}private voidinitAdapter() {

ll_point_container.getChildAt(0).setEnabled(true);

tv_desc.setText(contentDesc[0]);//设置适配器

viewPager.setAdapter(newMyAdapter());//默认设置到中间的某个位置

int pos = Integer.MAX_VALUE / 2;//viewPager.setCurrentItem(pos - 3);

viewPager.setCurrentItem(0);

}private voidinitData() {//初始化要显示的数据//图片资源id数组

imageResIds = new int[] { R.drawable.lunbo1, R.drawable.lunbo2, R.drawable.lunbo3,

R.drawable.lunbo4};//文本描述

contentDesc = new String[] { "巩俐不低俗,我就不能低俗", "朴树又回来啦!再唱经典老歌引万人大合唱","揭秘北京电影如何升级", "乐视网TV版大派送", "热血屌丝的反杀"};

imageViewList= new ArrayList();

pointViews= new ArrayList();

ImageView imageView;

View pointView;

LinearLayout.LayoutParams layoutParams;for (int i = 0; i < imageResIds.length; i++) {

imageView= new ImageView(this);

imageView.setBackgroundResource(imageResIds[i]);

imageViewList.add(imageView);//加小白点,指示器

pointView = new View(this);

pointView.setBackgroundResource(R.drawable.select);

layoutParams= new LinearLayout.LayoutParams(7, 7);if (i != 0) {

layoutParams.leftMargin= 10;

}

pointView.setEnabled(false);

ll_point_container.addView(pointView, layoutParams);

}

}class MyAdapter extendsPagerAdapter {

@Overridepublic intgetCount() {returnInteger.MAX_VALUE;

}//3、指定复用的判断逻辑

@Overridepublic booleanisViewFromObject(View view, Object object) {//当滑到新的条目,又返回来,view是否可以被复用

return view ==object;

}//1、返回要显示的条目内容,创建条目

@Overridepublic Object instantiateItem(ViewGroup container, intposition) {//container:容器:ViewPager//position:当前要显示的条目的位置

position = position % 4;

ImageView imageView=imageViewList.get(position);//a、把view对象添加到container中

container.addView(imageView);//b、把view对象返回给框架,适配器

return imageView; //必须要重写,否则抛异常

}//2、销毁条目

@Overridepublic void destroyItem(ViewGroup container, intposition, Object object) {//object 要销毁的对象

container.removeView((View) object);

}

}

@Overridepublic void onPageScrolled(int position, floatpositionOffset,intpositionOffsetPixels) {//滚动时调用

}

@Overridepublic void onPageSelected(intposition) {//新条目被选中时调用

position = position % 4;

tv_desc.setText(contentDesc[position]);//把之前的禁用,把最新的启用

ll_point_container.getChildAt(lastEnablePoint).setEnabled(false);

ll_point_container.getChildAt(position).setEnabled(true);

lastEnablePoint=position;

}

@Overridepublic void onPageScrollStateChanged(intstate) {//滚动状态变化时调用

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在viewpage显示指定的图片,你可以按照以下步骤操作: 1. 在你的项目中创建一个包含所有要显示图片的文件夹。 2. 将这些图片添加到你的项目中。 3. 在你的布局文件中,使用ViewPager组件来创建一个包含多个页面的视图。 4. 创建一个适配器(Adapter),用于将图片加载到ViewPager中。 5. 在适配器中,将每个页面与一个特定的图片关联。 6. 将适配器设置为ViewPager的适配器(Adapter)。 以下是一个简单的示例代码,可以帮助你实现在ViewPager中显示指定的图片: ``` xml <!--activity_main.xml--> <androidx.viewpager.widget.ViewPager android:id="@+id/viewPager" android:layout_width="match_parent" android:layout_height="match_parent"/> ``` ``` java //MainActivity.java public class MainActivity extends AppCompatActivity { private ViewPager viewPager; private int[] images = {R.drawable.image1, R.drawable.image2, R.drawable.image3}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); viewPager = findViewById(R.id.viewPager); MyPagerAdapter adapter = new MyPagerAdapter(this, images); viewPager.setAdapter(adapter); } } class MyPagerAdapter extends PagerAdapter { private Context context; private int[] images; public MyPagerAdapter(Context context, int[] images) { this.context = context; this.images = images; } @Override public int getCount() { return images.length; } @Override public boolean isViewFromObject(View view, Object object) { return view == object; } @Override public Object instantiateItem(ViewGroup container, int position) { ImageView imageView = new ImageView(context); imageView.setImageResource(images[position]); container.addView(imageView); return imageView; } @Override public void destroyItem(ViewGroup container, int position, Object object) { container.removeView((ImageView) object); } } ``` 在这个示例中,我们首先在activity_main.xml布局文件中创建了一个ViewPager组件。然后在MainActivity.java中,我们使用MyPagerAdapter适配器将图片加载到ViewPager中。最后,我们设置MyPagerAdapter为ViewPager的适配器(Adapter)。在适配器中,我们使用instantiateItem()方法将每个页面与一个特定的图片关联,并使用destroyItem()方法在不再需要时将其删除。 你可以将上面的代码复制到你的项目中,并按照你的需要修改适配器(Adapter)中的图片列表(images)。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值