想要用horizontalscrollview实现一个几张图片的滑动显示,下面是一些自己的总结内容。
1、在默认情况下,HorizontalScrollView控件里面的内容在滚动的情况下,会出现滚动条,为了去掉滚动条,只需要在<HorizontalScrollView/>里面加android:scrollbars="none"。
2、如果想实现在代码里面,点击左(右)按钮【btnLeft(btnRight)】,滚动条里面的内容会向左向右滚动【horizontalScrollViewMM】。代码如下:
滚动条向左滚动:
btnLeft.setOnClickListener( new View.onClickListener(){
horizontalScrollViewMM.arrowScroll(View.FOCUS_LEFT);
});
滚动条向右滚动:
btnRight.setOnClickListener( new View.onClickListener(){
horizontalScrollViewMM.arrowScroll(View.FOCUS_RIGHT);
});
自己实现该功能首先在HorizontalScrollView控件内添加一个线性布局LinearLayout,然后在java代码中添加
ImageView组件,
ImageView组件内放置的图片是使用的本地的,后续应该为网络获取。
public void getADs() {//res为放置图片id的int数组
for (int i = 0; i < res.length; i++) {
ImageView iv1 =new ImageView(this);
iv1.setAdjustViewBounds(false);
iv1.setLayoutParams(new LayoutParams(imgw, imgh));
iv1.setScaleType(ScaleType.FIT_XY);
Bitmap bm = BitmapFactory.decodeResource(getResources(), res[i]);
// bm = ThumbnailUtils.extractThumbnail(bm,imgw,imgh,ThumbnailUtils.OPTIONS_RECYCLE_INPUT);
iv1.setImageBitmap(bm);
li.addView(iv1);
}
}
实现滚动条滑动使用的是handler的handler.postDelayed(Runnable, 4000)方法,即每间隔4秒钟显示下一张图片,
进行循环播放。在horizontalScrollView组件上添加onTouch监听,进行手动滑动判断,是显示上一幅还是下一幅
图片。在LinearLayout布局中添加onClickListener(),在其中通过全局变量判断出点击了哪一个图片,
对应打开该图片的网址,在webView中呈现内容。