十年網(wǎng)站開發(fā)經(jīng)驗(yàn) + 多家企業(yè)客戶 + 靠譜的建站團(tuán)隊(duì)
量身定制 + 運(yùn)營維護(hù)+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
小編這次要給大家分享的是android如何實(shí)現(xiàn)滑動標(biāo)簽頁效果,文章內(nèi)容豐富,感興趣的小伙伴可以來了解一下,希望大家閱讀完這篇文章之后能夠有所收獲。
創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括灌南網(wǎng)站建設(shè)、灌南網(wǎng)站制作、灌南網(wǎng)頁制作以及灌南網(wǎng)絡(luò)營銷策劃等。多年來,我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,灌南網(wǎng)站推廣取得了明顯的社會效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到灌南省份的部分城市,未來相信會繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
實(shí)現(xiàn)效果:

實(shí)現(xiàn)功能:
實(shí)現(xiàn)過程:
各方法和變量的作用請?jiān)斠姶a注釋。
listview的數(shù)據(jù)顯示請見Android Studio獲取SQLite數(shù)據(jù)并顯示到ListView上Fragment+ViewParger實(shí)現(xiàn)界面加載
首先要?jiǎng)?chuàng)建兩個(gè)類并繼承Fragment,在viewpager中實(shí)現(xiàn)顯示時(shí)使用。
public class RiderInfo_Fragment extends Fragment {
List另一個(gè)類的創(chuàng)建過程類似。
3.創(chuàng)建 mainactivity.java用于設(shè)置在Viewpager中顯示Fragment
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private ViewPager vp;
CustomerInfo_Fragment customerInfo_fragment;
RiderInfo_Fragment riderInfo_fragment;
private List mFragmentList = new ArrayList();
FragmentAdapter mFragmentAdapter;
TextView custome, rider;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
mFragmentAdapter = new FragmentAdapter(this.getSupportFragmentManager(), mFragmentList);
vp.setOffscreenPageLimit(2);//ViewPager的緩存為2幀
vp.setAdapter(mFragmentAdapter);
vp.setCurrentItem(0);//初始設(shè)置ViewPager選中第一幀
//ViewPager的監(jiān)聽事件
vp.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
/*此方法在頁面被選中時(shí)調(diào)用*/
//title.setText(titles[position]);
changeTextColor(position);
}
@Override
public void onPageScrollStateChanged(int state) {
/*此方法是在狀態(tài)改變的時(shí)候調(diào)用,其中arg0這個(gè)參數(shù)有三種狀態(tài)(0,1,2)。
arg0==1的時(shí)辰默示正在滑動,
arg0==2的時(shí)辰默示滑動完畢了,
arg0==0的時(shí)辰默示什么都沒做。*/
}
});
}
void initView() {
custome = findViewById(R.id.customer);
rider = findViewById(R.id.rider);
custome.setOnClickListener(this);
rider.setOnClickListener(this);
vp = (ViewPager) findViewById(R.id.mainViewPager);
customerInfo_fragment = new CustomerInfo_Fragment();
riderInfo_fragment = new RiderInfo_Fragment();
mFragmentList.add(customerInfo_fragment);
mFragmentList.add(riderInfo_fragment);
}
@Override
public void onClick(View view) { //用于判斷當(dāng)前為哪一個(gè)fragment
int i = view.getId();
if (i == R.id.customer) {
vp.setCurrentItem(0, true);
} else if (i == R.id.rider) {
vp.setCurrentItem(1, true);
}
}
public class FragmentAdapter extends FragmentPagerAdapter {
List fragmentList = new ArrayList();
public FragmentAdapter(android.support.v4.app.FragmentManager fm, List fragmentList) {
super(fm);
this.fragmentList = fragmentList;
}
@Override
public Fragment getItem(int position) {
return fragmentList.get(position);
}
@Override
public int getCount() {
return fragmentList.size();
}
} 該方法用于具體執(zhí)行數(shù)據(jù)庫數(shù)據(jù)查詢
public static void getRiderHistoryInfoFromSQite(Activity activity, ListinfoList) { DBOpenHelper helper = new DBOpenHelper(activity, "qianbao.db", null, 1); SQLiteDatabase db = helper.getWritableDatabase(); Cursor c = db.query("RiderHistoryInfo", null, null, null, null, null, null); if (c != null && c.getCount() >= 1) { while (c.moveToNext()) { //moveToNext是指向表中的下一行數(shù)據(jù) infoList.add(new Info(c.getString(c.getColumnIndex("userName")), c.getString(c.getColumnIndex("userPhone")), c.getString(c.getColumnIndex("price")), c.getString(c.getColumnIndex("address")), c.getString(c.getColumnIndex("createTime")), c.getString(c.getColumnIndex("objectId")),"")); } c.close(); db.close(); } }
看完這篇關(guān)于android如何實(shí)現(xiàn)滑動標(biāo)簽頁效果的文章,如果覺得文章內(nèi)容寫得不錯(cuò)的話,可以把它分享出去給更多人看到。