Android使用ViewPager實(shí)現(xiàn)頂部tabbar切換界面
Android使用ViewPager實(shí)現(xiàn)頂部tabbar切換界面,類似的功能可以看看:
使用RadioGroup實(shí)現(xiàn)底部導(dǎo)航欄
進(jìn)入正題
效果圖:

注:PagerSlidingTabStrip為自定義控件,用于切換界面,此處不便貼出代碼
1.主界面xml布局中添加ViewPager控件:
<android.support.v4.view.ViewPager android:id="@+id/pager_view" android:layout_width="match_parent" android:layout_height="match_parent" />
2.主界面的activity代碼:
FrOrderList和FrFoodList分別為內(nèi)部的fragment頁(yè)面
String[] tabs = {"堅(jiān)果", "肉脯", "果凍"};
private MyPagerAdpater adpater;
//為ViewPager添加Adpater
adpater = new MyPagerAdpater(getSupportFragmentManager());
pagerView.setOffscreenPageLimit(4);
pagerView.setAdapter(adpater);
class MyPagerAdpater extends FragmentPagerAdapter {
public MyPagerAdpater(FragmentManager manager) {
super(manager);
}
@Override
public Fragment getItem(int position) {
switch (position){
case 0:
return FrOrderList.newInstance( 0);
case 1:
return FrFoodList.newInstance( 1);
case 2:
return FrOrderList.newInstance( 2);
}
return null;
}
@Override
public CharSequence getPageTitle(int position) {
return tabs[position];
}
@Override
public int getCount() {
return tabs.length;
}
}
3.內(nèi)部fragment頁(yè)面:
其布局只是為了純顯示,所以只添加了一個(gè)textview
<TextView android:id="@+id/tv_content" android:gravity="center" android:layout_width="match_parent" android:layout_height="match_parent" android:textSize="32sp" android:textColor="#63B8FF" android:text="999"/>
activity代碼:
整個(gè)流程為:
public static FrFoodList newInstance(int mState)
–》public void onCreate(@Nullable Bundle savedInstanceState)
–》public View onCreateView
–》public void initView()
public class FrFoodList extends Fragment {
TextView tvContent;
private static String DATAKEY = "STATE";
private int mState = 0;
public static FrFoodList newInstance(int mState) {
FrFoodList frFoodList = new FrFoodList();
Bundle bundle = new Bundle();
bundle.putInt( DATAKEY, mState);
frFoodList.setArguments(bundle);
return frFoodList;
}
@Override
public void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mState = getArguments().getInt( DATAKEY);
}
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_food_list, null);
tvContent = (TextView) view.findViewById(R.id.tv_content);
initView();
return view;
}
public void initView(){
switch ( mState ){
case 0:
tvContent.setText( "一大波堅(jiān)果即將來(lái)襲~~~" );
break;
case 1:
tvContent.setText( "好吃又香,美味抵擋不住(^_^)" );
break;
case 2:
tvContent.setText( "浪漫氣息,粉嫩可愛(ài)(*_*)" );
break;
}
}
}
FrOrderList的寫法和這個(gè)類似。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android實(shí)現(xiàn)界面左右滑動(dòng)切換功能
- Android輸入法與表情面板切換時(shí)的界面抖動(dòng)問(wèn)題解決方法
- Android實(shí)現(xiàn)閃屏及注冊(cè)和登錄界面之間的切換效果
- PagerSlidingTabStrip制作Android帶標(biāo)簽的多界面滑動(dòng)切換
- Android App仿微信界面切換時(shí)Tab圖標(biāo)變色效果的制作方法
- Android應(yīng)用中使用ViewPager實(shí)現(xiàn)類似QQ的界面切換效果
- android編程實(shí)現(xiàn)局部界面動(dòng)態(tài)切換的方法
- Android界面切換出現(xiàn)短暫黑屏的解決方法
- Android實(shí)現(xiàn)Activity界面切換添加動(dòng)畫特效的方法
- Android studio實(shí)現(xiàn)兩個(gè)界面間的切換
相關(guān)文章
Android ViewPager2 使用及自定義指示器視圖實(shí)現(xiàn)
這篇文章主要為大家介紹了Android ViewPager2 使用及自定義指示器視圖實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-09-09
Jetpack?Compose?實(shí)現(xiàn)一個(gè)圖片選擇框架功能
這篇文章主要介紹了Jetpack?Compose?實(shí)現(xiàn)一個(gè)圖片選擇框架,本文通過(guò)實(shí)例代碼圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-06-06
Android使用AudioManager修改系統(tǒng)音量的方法
這篇文章主要介紹了Android使用AudioManager修改系統(tǒng)音量的方法,結(jié)合實(shí)例形式分析了AudioManager調(diào)節(jié)音量的常用方法及相關(guān)使用技巧,需要的朋友可以參考下2016-08-08
android 引導(dǎo)界面的實(shí)現(xiàn)方法
現(xiàn)在越來(lái)越多程序都有引導(dǎo)頁(yè)面了。網(wǎng)上資料不全?,F(xiàn)在自己實(shí)現(xiàn)下。2013-06-06
Android編程設(shè)計(jì)模式之狀態(tài)模式詳解
這篇文章主要介紹了Android編程設(shè)計(jì)模式之狀態(tài)模式,結(jié)合實(shí)例形式詳細(xì)分析了Android狀態(tài)模式的概念、功能、使用方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下2017-12-12
SwipeRefreshLayout+RecyclerView實(shí)現(xiàn)上拉刷新和下拉刷新功能
這篇文章主要介紹了SwipeRefreshLayout+RecyclerView實(shí)現(xiàn)上拉刷新和下拉刷新功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-01-01

