真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Android中如何使用viewpager滑動指示器

Android 中如何使用viewpager 滑動指示器,很多新手對此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。

創(chuàng)新互聯(lián)是一家專業(yè)提供安化企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計(jì)制作、網(wǎng)站設(shè)計(jì)、H5頁面制作、小程序制作等業(yè)務(wù)。10年已為安化眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)絡(luò)公司優(yōu)惠進(jìn)行中。

工程目錄:

Android 中如何使用viewpager 滑動指示器

1. MainActivity.java

public class MainActivity extends FragmentActivity { 
  private ViewPagerFrameAdapter adapter;  //適配器(標(biāo)題和內(nèi)容) 
 private ViewPager mPager;        
 private TabPageIndicator   tabbPageIndicator;   // 
 private UnderlinePageIndicatorEx underlinePageIndicator; 
 private int COUNT = 0; 
 private List titles = new ArrayList(); //標(biāo)題 
 @Override 
 protected void onCreate(Bundle bundle) { 
    super.onCreate(bundle); 
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    setContentView(R.layout.activity_main); 
    //標(biāo)題,這里自己造的假數(shù)據(jù) 
    for (int j = 0; j < 3 ; j++){ 
     titles.add( "第"+ j +"標(biāo)簽卡"); 
    } 
    mPager = (ViewPager)findViewById(R.id.pager); 
    adapter = new ViewPagerFrameAdapter(getSupportFragmentManager(),titles); 
    mPager.setAdapter(adapter); 
    //得到指示器 
    tabbPageIndicator = (TabPageIndicator) findViewById(R.id.tab_indicator);  
    tabbPageIndicator.setViewPager(mPager); 
    //下標(biāo) 
    underlinePageIndicator = (UnderlinePageIndicatorEx)findViewById(R.id.underline_indicator); 
    underlinePageIndicator.setViewPager(mPager); 
    underlinePageIndicator.setFades(false); 
    //設(shè)置指示器 
    tabbPageIndicator.setOnPageChangeListener(underlinePageIndicator); 
 } 
 //adapter 沒啥好說的 跟前面的一樣 
 private class ViewPagerFrameAdapter extends FragmentStatePagerAdapter{ 
  private List title; //頁面標(biāo)題頭部數(shù)據(jù) 
  public ViewPagerFrameAdapter(FragmentManager fm, List title) { 
   super(fm); 
   this.title = title; 
  } 
  //根據(jù)position 返回 fragment 
  @Override 
  public Fragment getItem(int position) { 
   return ArrayFragment.newInstance(position); 
  } 
  //size 
  @Override 
  public int getCount() { 
    return title.size(); 
  } 
  //頂部的title 
  @Override 
  public CharSequence getPageTitle(int position) { 
   if (titles != null){ 
    return titles.get(position).toString(); 
   } 
   return super.getPageTitle(position); 
  }  
 } 
}

UnderlinePageIndicatorEx.java

//繼承這個(gè)然后重寫 
public class UnderlinePageIndicatorEx extends UnderlinePageIndicator{ 
  public UnderlinePageIndicatorEx(Context context) { 
   super(context, null);   
  } 
  public UnderlinePageIndicatorEx(Context context, AttributeSet attrs) { 
   super(context, attrs, R.attr.vpiUnderlinePageIndicatorStyle);  
  } 
  public UnderlinePageIndicatorEx(Context context, AttributeSet attrs, int defStyle) { 
   super(context, attrs, defStyle);   
  } 
  //自身的 ViewPage傳遞過去 
  @Override 
  public void setViewPager(ViewPager viewPager) { 
   if (mViewPager == viewPager){ 
    return; 
   } 
//   if (mViewPager != null) { 
//    mViewPager.setOnPageChangeListener(null); 
//   } 
   if (viewPager.getAdapter() == null) { 
    throw new IllegalStateException(" pager 沒有 加入 adapter"); 
   } 
   mViewPager = viewPager; 
//   mViewPager.setOnPageChangeListener(this); 
   invalidate(); 
   post(new Runnable(){ 
    @Override public void run() { 
     if (mFades) { 
      post(mFadeRunnable); 
     } 
    }  
   }); 
  } 
}

ArrayFragment.java

public class ArrayFragment extends Fragment{ 
 private int position; 
 public ArrayFragment(int position){ 
  this.position = position; 
 } 
  // 返回 viwePager 下面滑動的頁面 
 public static ArrayFragment newInstance(int position){ 
  return new ArrayFragment(position); 
 } 
 @Override 
 public void onCreate(Bundle savedInstanceState) { 
  super.onCreate(savedInstanceState); 
 } 
 @Override 
 public void onDestroy() { 
  super.onDestroy(); 
 } 
 // 根據(jù)position 返回不同的view 
 @Override 
 public View onCreateView(LayoutInflater inflater, ViewGroup container, 
   Bundle savedInstanceState) { 
  View view = inflater.inflate(R.layout.layoutaa, null);  
  return view; 
 } 
}

好了接下來是 布局xml了。

 
  
   
     
     
    
    

接下來設(shè)置 滑動指示器的style 

 
  
  @style/CustomTabPageIndicator 
  @style/CustomUnderlinePageIndicator 
  
  
  
  #00000000 
  @style/CustomTabPageIndicator_text 
  @color/selector_tab 
  20sp 
   
  @drawable/custom_tab_indicator_divider 
  10dip 
  middle 
  4dp 
  8dp 
  4dp 
  8dp 
  horizontal 
  8dp 
  
  
  monospace 
  
  
  
  #EB5548 
  #00000000 
  1000 
  1000 
 

 selector_tab.xml     這個(gè)是 選擇器 在style中引用的,是用來切換 被選中的背景色的

 
 
  
  
  

看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)的支持。


當(dāng)前名稱:Android中如何使用viewpager滑動指示器
當(dāng)前路徑:http://weahome.cn/article/pjeieh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部