Android 는 ViewPager 를 사용 하여 상단 tabbar 전환 인터페이스 구현

유사 한 기능 은 볼 수 있다.
RadioGroup 을 사용 하여 아래쪽 탐색 표시 줄 구현
본론 으로 들어가다
효과 그림:

주: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 코드:
Frorderest 와 FrFoodList 는 각각 내부 fragment 페이지 입 니 다.

String[] tabs = {"  ", "  ", "  "};
  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.내부 프 래 그 먼 트 페이지:
그 레이아웃 은 단순 디 스 플레이 를 위 한 것 이기 때문에 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 코드:
전체 프로 세 스:

public static FrFoodList newInstance(int mState) 
C》public void onCreate(@Nullable Bundle savedInstanceState) 
C》public View onCreateView 
C》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( "         ~~~" );
  break;
  case 1:
  tvContent.setText( "    ,      (^_^)" );
  break;
  case 2:
  tvContent.setText( "    ,    (*_*)" );
  break;
 }
 }
}
Frorderest 의 쓰 기 는 이것 과 유사 합 니 다.
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기