編輯:關於Android編程
1.大家都知道為ViewPager構建適配器繼承PagerAdapter,怎麼構建就不說了。Viewpager會默認加載當前頁和當前頁的左右兩頁。一開始當前頁是下標0,所以一開始默認加載第0頁(指下標,下同)和第1頁。當你向右滑動,當前頁為第1頁時,ViewPager會加載第2頁,這時一共有3頁存在(第0,1,2頁)。再向右滑動,當前頁為第2頁時,會移除第0頁,加載第3頁,同理向左滑動當前頁為第1頁時,會移除第3頁。這麼說應該懂了吧。
知道了上面的原理,就可以讓ViewPager始終只加載3頁的圖片。加載是執行instantiateItem(...)方法,移除是執行destroyItem(...)方法,可以在instantiateItem(...)裡加載某一頁的圖片,在destroyItem(...)裡回收某一頁的圖片。附上代碼:
2.代碼實例:
package com.example.test;
import java.util.ArrayList;
import android.app.Activity;
import android.os.Bundle;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.view.View;
import android.widget.ImageView;
public class TestActivity extends Activity{
private ViewPager mPager;
private ArrayList<View> views;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
views=new ArrayList<View>();
views.add(new ImageView(this));
views.add(new ImageView(this));
views.add(new ImageView(this));
views.add(new ImageView(this));
views.add(new ImageView(this));
views.add(new ImageView(this));
views.add(new ImageView(this));
views.add(new ImageView(this));
mPager=new ViewPager(this);
mPager.setAdapter(new MyPagerAdapter());
setContentView(mPager);
}
class MyPagerAdapter extends PagerAdapter{
@Override
public void destroyItem(View container, int position, Object object) {
//在此次回收圖片
//........回收代碼
//移除頁面
((ViewPager)container).removeView(views.get(position));
}
@Override
public Object instantiateItem(View container, int position) {
// 在此次加載圖片
//......加載圖片代碼
//加載頁面
((ViewPager)container).addView(views.get(position), 0);
return views.get(position);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return views.size();
}
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
// TODO Auto-generated method stub
return false;
}
}
}
學會編寫Android Studio插件
一、概述相信大家在使用Android Studio的時候,或多或少的會使用一些插件,適當的配合插件可以幫助我們提升一定的開發效率,更加快樂。例如:https://gith
Android自定義View——QQ音樂中圓形旋轉碟子
思路分析:1、在onMeasure中測量整個View的寬和高後,設置寬高2、獲取我們res的圖片資源後,在ondraw方法中進行繪制圓形圖片3、通過Handler發送Ru
Android中使用socket通信實現消息推送的方法詳解
原理最近用socket寫了一個消息推送的demo,在這裡和大家分享一下。主要實現了:一台手機向另外一台手機發送消息,這兩台手機可以隨時自由發送文本消息進行通信,類似我們常
AndroidStudio項目提交(更新)到github最詳細步驟
在使用studio開發的項目過程中有時候我們想將項目發布到github上,以前都是用一種比較麻煩的方式(cmd)進行提交,最近發現studio其實是自帶這種功能的,終於可