Android 介面優化二:介面滑動
阿新 • • 發佈:2018-11-28
今天想在介面加入一個滑動的功能,看起來比較炫,也沒什麼實用性,單純的好看而已。
使用了ViewPager方法;下面貼程式碼:
首先在主介面裡面建立:(注意,一般只能用在常見佈局下面,一些特殊的佈局下面或者包佈局還是無法實現此功能的)
<android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center"/>
然後在後臺程式碼onCreate中新增以下程式碼:
viewPager = (ViewPager)findViewById(R.id.viewpager); LayoutInflater inflater = getLayoutInflater().from(Main.this); statioManage = inflater.inflate(R.layout.station_manage,null); histRecord = inflater.inflate(R.layout.hist_record,null); user = inflater.inflate(R.layout.user,null); viewList = new ArrayList<View>(); viewList.add(statioManage); viewList.add(histRecord); viewList.add(user); //引用介面卡 PagerAdapter pagerAdapter = new PagerAdapter(viewList); viewPager.setAdapter(pagerAdapter);
PagerAdapter是一個我在網上找到的一個配置器,忘了在哪篇文章裡找的了,若看到請聯絡我,下面把這個介面卡程式碼如下:
public class PagerAdapter extends PagerAdapter { public List<View> viewList; public PagerAdapter(List<View> viewList) { this.viewList = viewList; } /*下面四個函式是一定要重寫的*/ @Override public boolean isViewFromObject(View arg0, Object arg1) { //判斷instantiateItem(ViewGroup, int)函式所返回來的Key與一個頁面檢視是否是代表的同一個檢視(判斷key) // TODO Auto-generated method stub return arg0 == arg1; } @Override public int getCount() {//返回要滑動的VIew的個數 // TODO Auto-generated method stub return viewList.size(); } @Override public void destroyItem(ViewGroup container, int position, Object object) {//從當前container中刪除指定位置(position)的View; // TODO Auto-generated method stub container.removeView(viewList.get(position)); } @Override public Object instantiateItem(ViewGroup container, int position) { //例項化:將當前檢視新增到container中,並返回當前View(傳送key) // TODO Auto-generated method stub container.addView(viewList.get(position)); return viewList.get(position); } }
寫上基本就可以用了,有關事項也寫清了,有問題請留言。