編輯:關於Android編程
ViewPager用於實現多頁面的切換效果,該類存在於Google的兼容包裡面,所以在引用時記得在BuilldPath中加入“Android-support-v4.jar”
首先必須知道:要使用ViewPager,必須要使用PagerAdapter為其提供數據,也就必須實現下面四個方法:
1, getCount():ViewPager需要顯示的頁面個數
2,isViewFromObject(View view, Object object):view 是某個位置的頁面,Object是 instantiateItem 方法返回的。在這個方法需要判斷這頁面與Object對象是
否是同一個對象。
3,instantiateItem(ViewGroup Container, int position):生成對應位置的頁面,container 就是顯示頁面的容器,position 就是對應的頁面的序號
4,destroyItem(ViewGroup container, int position, Object object):將指定頁面銷毀
其實現代碼”如下”:
1,直接在布局文件中引入ViewPager
注意:必須要導入其依賴包android.support.v4
<android.support.v4.view.ViewPager android:id="@+id/up" android:layout_width="wrap_content" android:layout_height="wrap_content"> </android.support.v4.view.ViewPager>
2,自定義一個適配器繼承於PagerAdapter,並覆寫其四個方法
public class MyPagerAdapter extends PagerAdapter { private Context mContext; private int[] mResId; public MyPagerAdapter(Context context, int[] resId) { this.mContext = context; this.mResId = resId; } //設置內部pager頁面的數量 @Override public int getCount() { return mResId.length; } @Override public boolean isViewFromObject(View view, Object object) { //判斷頁面與object是否是同一個對象 return view == object; } //必須重新覆寫instaniateItem()和destroyItem()二個方法才能進行展示 @Override public Object instantiateItem(ViewGroup container, int position) { View view = View.inflate(mContext, R.layout.item, null); View iv_item = view.findViewById(R.id.iv_item); iv_item.setBackgroundResource(mResId[position]); //必須將填充出來的view添加到ViewGroup中去,其container表示當前頁面的容器 container.addView(view); return view; } //不使用的時候,將其銷毀 @Override public void destroyItem(ViewGroup container, int position, Object object) { //父類實現的方法是拋異常(源碼) // super.destroyItem(container, position, object); container.removeView((View) object); } }
3,activity中實現其邏輯
public class MainActivity extends Activity { private ViewPager mUp; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initeView(); initData(); } private void initData() { int[] resId = new int[]{R.drawable.shi, R.drawable.ni, R.drawable.haha}; //給ViewPager設置內容 MyPagerAdapter adapter = new MyPagerAdapter(getApplicationContext(), resId); mUp.setAdapter(adapter); } private void initeView() { mUp = (ViewPager) findViewById(R.id.up); } }
以上所述是小編給大家介紹的Android開發中ViewPager實現多頁面切換效果,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對本站網站的支持!
年後開始上班甚是清閒,所以想搗鼓一些東西。在翻閱大神傑作Android 教你打造炫酷的ViewPagerIndicator 不僅僅是高仿MIUI的時候看到下面有一條評論說
1.Socket簡介Socket也稱作“套接字“,是在應用層和傳輸層之間的一個抽象層,它把TCP/IP層復雜的操作抽象為幾個簡單的接口供應用層調用
最近搞一個項目,需要用到類似於新浪微博的消息流,即每一項有文字、有九宮格圖片,因此這就涉及到ListView或者ScrollView嵌套GridView的問題。其中Gri
霓虹是用來描繪圖像的輪廓,勾畫出顏色變化的邊緣,加強其過度效果,使圖像產生輪廓發光的效果。主要步驟為1、根據當前像素與其右方和下方像素的梯度運算;2、然後將結果值作為當前