在輪播圖中進行新增點選事件
當點選輪播圖的時候,輪播圖需要停止輪播;
點選完成之後輪播圖可以繼續自動輪播;
點選輪播圖將資料裡面的title進行吐司;
當用手指滑動輪播圖的時候,輪播圖可以跟隨手指進行滑動,停止自動輪播;當手指離開之後輪播自動繼續
只需要在給輪播圖設定載入圖片的時候新增
public class MyVpAdapter extends PagerAdapter {
//資料來源
private List<ImageData.DataBean> data;
//上下文物件
private Context context;
private DisplayImageOptions options;
//傳送訊息的handler
private Handler mhandler;
public MyVpAdapter(List<ImageData.DataBean> data, Context context,Handler handler) {
this.data = data;
this.context = context;
this.mhandler=handler;
this.options=new DisplayImageOptions.Builder()
.cacheInMemory(true)//使用記憶體快取
.cacheOnDisk(true)//使用磁碟快取
.showImageOnLoading(R.mipmap.ic_launcher)//設定正在下載的圖片
.showImageForEmptyUri(R.mipmap.ic_launcher)//url為空或請求的資源不存在時
.showImageOnFail(R.mipmap.ic_launcher)//下載失敗時顯示的圖片
.bitmapConfig(Bitmap.Config.RGB_565)//設定圖片色彩模式 1px=2個位元組 ARGB_8888 1px=4個位元組 ARGB_4444 1px=2個位元組 ALPHA_8 1px=1個位元組
.imageScaleType(ImageScaleType.EXACTLY)//設定圖片的縮放模式
.build();
}
@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=new ImageView(context);
//設定圖片縮放模式
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
//下載圖片
ImageLoader.getInstance().displayImage(data.get(position%data.size()).getIcon(),imageView,options);
//設定點選事件
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(context,data.get(position%data.size()).getTitle(),Toast.LENGTH_SHORT).show();
}
});
//設定觸控監聽事件
imageView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
switch (motionEvent.getAction()){
case MotionEvent.ACTION_DOWN:
//移除所有的訊息,不再自動輪播
mhandler.removeCallbacksAndMessages(null);
break;
case MotionEvent.ACTION_MOVE:
mhandler.removeCallbacksAndMessages(null);
break;
case MotionEvent.ACTION_UP:
//再次傳送訊息
mhandler.sendEmptyMessageDelayed(0,1000);
break;
case MotionEvent.ACTION_CANCEL:
//再次傳送訊息
mhandler.sendEmptyMessageDelayed(0,1000);
break;
}
//true:自己消費此事件,不再向上傳遞 false:自己不處理,向上傳遞
return false;
}
});
container.addView(imageView);
return imageView;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
//super.destroyItem(container, position, object);
container.removeView((View)object);
}
}
相關推薦
在輪播圖中進行新增點選事件
當點選輪播圖的時候,輪播圖需要停止輪播;點選完成之後輪播圖可以繼續自動輪播;點選輪播圖將資料裡面的title進行吐司;當用手指滑動輪播圖的時候,輪播圖可以跟隨手指進行滑動,停止自動輪播;當手指離開之後輪播自動繼續只需要在給輪播圖設定載入圖片的時候新增public class
輪播圖小圓點可點選
public class MainActivity extends AppCompatActivity { private ViewPager viewPager; private Handler handler = new Handler(){
輪播圖中帶粘性效果的小點
輪播圖中我們經常會看到帶有粘性效果的小點,先看效果圖: 我們看頂部輪播圖左右滑動時,其聯動的小點也跟著一起滑動,但是這裡的小點改變時會有粘性的效果。今天我們就看下這個效果。 小點的實現是通過自定義實現的,看下程式碼: public class MaterialIndic
CSS——輪播圖中的箭頭
輪播 arr one png color meta margin ack tex 註意事項: 1、定位中left權重比right高,top權重比bottom高 2、兩個span標簽嵌套在一個盒子中,將來顯示隱藏只需要控制父盒子就行了 <!DOCTYPE html&g
Flutter自定義折線圖並新增點選事件
前言 最近用Flutter做了一個天氣類的app,我也是新手,對flutter理解還不是很深入,但是開發過程中的程式設計思想給了我很大的啟發。Dart語言特性很優秀,單執行緒模型,非同步io,初始化列表,函式也是物件,鏈式呼叫等等,flutter的設計思想很前衛。好了,馬屁只拍到這裡,下面講一下在開發過程中
獲取場景中的所有按鈕,並新增點選事件
void Start() {//初始化時 獲取 所有按鈕新增監聽 Addlisteningevent(); } public void Addlisteningevent() {//查詢所有按鈕 Button[] allObj =
[Swift通天遁地]一、超級工具-(1)動態標籤:給UILabel文字中的Flag和url新增點選事件
本文將演示動態標籤的使用,它允許使用者在標籤上進行互動操作。 點選【Podfile】,檢視安裝配置檔案。 1 platform :ios, '8.0' 2 use_frameworks! 3 4 target 'DemoApp' do 5 source 'https://githu
Android框架之路——Banner實現輪播圖(RecyclerView新增Header)
一、簡介 Banner能實現迴圈播放多個廣告圖片和手動滑動迴圈等功能。因為原生ViewPager並不支援迴圈翻頁, 要實現迴圈還得需要自己去動手。Banner框架可以進行不同樣式、不同動畫設定, 以及完善的api方法能滿足大部分軟體首頁輪播圖效果的需求。
js迴圈遍歷ul中li的點選事件,給給選中li新增css
功能:對於一個ul中固定的li個數,當點選其中一個li時,改變選中li的顏色;同時改變對應的另一個ul中li的顏色頁面初始化的介面:HTML: <div > <label>其他推薦:</lab
關於jquery中 的點選事件,每點一次執行的效果就疊加一次,click是新增點選事件的意思
我本人還是前端的菜鳥,所以一般在寫特效的時候,喜歡用jquery,但是在用jquery的點選事件中,點選後改變容器中的內容,但是發現每點一次就顯示一個內容,點幾次就有幾個。jquery中 的點選事件,每點一次執行的效果就疊加一次,click是新增點選事件的意思。那麼來解決這
Android中WebView載入Html中的圖片新增點選事件
基本的思路: (1)WebView來載入HTML。 (2)向HTML中注入JavaScript,利用JavaScript來呼叫Android中的方法(執行一些跳轉的操作等等)。 首先你必須有一個HTML或者是一個地址,或者是存到本地的一個檔案。我這裡使用的是存到本
輪播圖中計算數字的一個小技巧
最近公司專案中用到了輪播圖,由於公司職責分離,靜態頁面已經寫好了,我只需要負責使用vue新增互動效果即可。我得到的DOM結構如下: <ul> <li class="banner-prev"> <div cl
iOS中為view新增點選事件
UITapGestureRecognizer *ui=[[UITapGestureRecognizeralloc]initWithTarget:selfaction:@selector(alickLi
div中迴圈生成button並新增點選事件
回看剛剛學習js的博文,頁面迴圈生成節點是頁面最基礎的操作之一。 要讓頁面顯示效果,必然在頁面新增dom元素!如果想要多個button,那麼迴圈新增必不可少。 首先定義div: <div id="people" style="border: groo
在UIView中新增點選事件oc及swift
UIView繼承於UIResponder是沒有addTarget 方法的,所有隻能在UIView上新增手勢UITapGestureRecognizer來實現點選事件。 首先設定UIView(或其子類)為可互動的: oc: iconView.userIn
react native中使用react-native-viewpager實現的商品展示新增點選事件
對於android,react-native-viewpager這個第三方實現商品展示很好用 <ViewPager dataSource={this.state.adDataSource}
listview中給每個item新增點選事件
給listview每個item新增點選事件,這個聽起來好像挺迷糊的,在adapter裡面我直接就寫startactivity後來沒成功,為此研究了幾分鐘發現有三種方式實現哈。現在說一下我的解決方法。1、在activit
JS中使用for迴圈新增點選事件時,獲取i值及引數異常原因及解決辦法
遇見此問題,程式碼檢查了n次都沒毛病,但是卻出現下述問題, 坑了我好久,原來是這個原因,記錄避坑! PS這是js的處理方法, 在jquery中直接用each遍歷元素繫結點選事件即可避免 $('#id').each(function(i){ $(this).click(
關於html 中a標籤新增點選事件的方法總結
我們常用的在a標籤中有點選事件: 1. a href="javascript:js_method();" 這是我們平臺上常用的方法,但是這種方法在傳遞this等引數的時候很容易出問題,而且javascript:協議作為a的href屬性的時候不僅會導致不必要的觸發wind