ViewPager的无限轮播,和shape的小圆点使用,及webview显示进度条
来源:互联网 发布:ipv6网络是什么 编辑:程序博客网 时间:2024/04/29 13:45
viewpager中的图片是url的话,
for (int i=0;i<banner.size();i++){ String img = banner.get(i).getImg(); String url = banner.get(i).getUrl(); list_url.add(url); ImageView image=new ImageView(MainActivity.this);// Picasso.with(MainActivity.this).load(img).into(image);// list_image.add(image);//这三个方法,就直接添加到集合; ImageView image1=new ImageView(MainActivity.this); image1.setImageResource(R.drawable.sector_dra); list_image1.add(image1); line.addView(image1); image1.setPadding(10,0,10,0);}
viewpager的无限轮播使用,首先你要先弄适配器:重写四个方法:
class myadpter extends PagerAdapter{ @Override public int getCount() { return Integer.MAX_VALUE;//返回最大值,说明集合中图片的最大值! } @Override public boolean isViewFromObject(View view, Object object) { return view==object; } @Override public Object instantiateItem(ViewGroup container, final int position) { //如果只有两张图片的话,就必须抛个异常,因为图片太少
ImageView imageView = list_image.get(position%list_image.size()); try { container.addView(imageView); return imageView; }catch (Exception e){ } imageView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Intent intent=new Intent(MainActivity.this,Next.class); intent.putExtra("position",position%list_image.size()); intent.putStringArrayListExtra("list", (ArrayList<String>) list_url); startActivity(intent); } }); return imageView; } @Override public void destroyItem(ViewGroup container, int position, Object object) {
//如果只有两张图片,就不需要在这里写方法;
// ImageView imageView = list_image.get(position%list_image.size());// container.removeView(imageView); } }
无限轮播需要在主线程发送:
h1.sendEmptyMessageDelayed(0,1000);
然后再
android.os.Handler h1=new android.os.Handler(){//记住导os包 @Override public void handleMessage(Message msg) { if(msg.what==0) { int currentItem = viewpager.getCurrentItem(); currentItem++; viewpager.setCurrentItem(currentItem); h1.sendEmptyMessageDelayed(0,1000); } super.handleMessage(msg); }};对于shape的使用在res下drawable 里建一个shape:<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" ><size android:height="10dp" android:width="10dp" ></size> <solid android:color="#fff" ></solid></shape>然后再建一个selector<selector xmlns:android="http://schemas.android.com/apk/res/android" ><item android:state_selected="true" android:drawable="@drawable/shape_true" ></item> <item android:state_selected="false" android:drawable="@drawable/shape_false" ></item></selector>
webview里显示进度条:webview.setWebChromeClient(new WebChromeClient() { @Override public void onProgressChanged(WebView view, int newProgress) { if (newProgress == 100) { // 加载完毕 closeDialog(newProgress); } else { openDialog(newProgress); } super.onProgressChanged(view, newProgress); } private void openDialog(int newProgress) { if (dialog == null) { dialog = new ProgressDialog(Next.this); dialog.setTitle("正在加载"); dialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); dialog.setProgress(newProgress); dialog.show(); } else { dialog.setProgress(newProgress); } } private void closeDialog(int newProgress) { if (dialog != null && dialog.isShowing()) { dialog.dismiss(); dialog = null; } }});
0 0
- ViewPager的无限轮播,和shape的小圆点使用,及webview显示进度条
- ViewPager+小圆点的无限轮播
- viewpager的无限轮播和小圆点的改变
- ViewPager加小圆点的无限轮播
- 无限轮播的ViewPager+导航小圆点()
- viewpager无限轮播,画小圆点,小圆点的布局
- viewpager无限轮播,画小圆点,小圆点的布局
- 使用自制绘图实现viewpager无限轮播的小圆点
- ViewPager+小圆点进行无限轮播
- Viewpager自动无限轮播+小圆点
- ViewPager小圆点无限轮播
- ViewPager加小圆点无限轮播
- viewpager无限轮播、加小圆点
- ViewPager小圆点无限轮播
- Viewpager实现小圆点无限轮播
- ViewPager实现无限轮播+小圆点
- 无限轮播的小圆点设置
- 无限轮播的小圆点设置
- 笔试题:编写一个程序,开启3个线程,这3个线程的ID分别为A、B、C,每个线程将自己的ID在屏幕上打印10遍,要求输出结果必须按ABC的顺序显示;如:ABCABC….依次递推。
- 蓝桥杯真题 39层台阶(dfs)
- 二叉树非递归遍历复习代码实现
- 动态脱敏和静态脱敏
- cronolog使用(日志管理)
- ViewPager的无限轮播,和shape的小圆点使用,及webview显示进度条
- lua与c#交互篇(性能)
- SLAM的一点认识
- 半平面交自用模板
- java
- myBatis搭建环境简单介绍
- <generator object next_siblings at 0x03662E90>
- 线程的生命周期
- jsp 2 jsp语法