아주 간단 한 몇 줄 코드 로 안 드 로 이 드 밑 에 있 는 네 비게 이 션 표시 줄 기능 을 해결 합 니 다.

아주 간단 합 니 다.몇 줄 의 코드 가 안 드 로 이 드 밑 에 있 는 네 비게 이 션 표시 줄 인 C 프로젝트 수요 와 파트너 의 메 시 지 를 해결 하고 두 가지 방법 을 추 가 했 습 니 다.
  • 아래쪽 내 비게 이 션 표시 줄 배경 그림 설정
  • 아래쪽 네 비게 이 션 표시 줄 옵션 을 추가 하여 감청 이벤트 전환
  • 아래쪽 네 비게 이 션 표시 줄 의 실현 도 어렵 지 않 습 니 다.바로 아래 는 몇 개의 Tab 전환 입 니 다.위 는 보통 FrameLayout 이 고 그 다음 에 FrameLayout 에서 fragment 를 전환 합 니 다.
    인터넷 에 안 드 로 이 드 밑 에 있 는 네 비게 이 션 표시 줄 에 관 한 글 이 적지 않 지만 모두 아래 Tab 에 관 한 것 같 습 니 다.Tab 와 fragment 의 연결 을 실현 하지 못 했 습 니 다.사용 할 때 이 코드 를 직접 써 야 합 니 다.저 에 게 게 게 으 름 은 프로그래머 의 미덕 이 라 고 합 니 다.프로그래머 에 게 는 참 을 수 없다.
    다음은 제 Bottom Tab Bar 에 대해 서 말씀 드 리 겠 습 니 다.

    이것 이 바로 제 가 예전 에 봉 인 했 던 BottomTabar 의 효과 그림 입 니 다.지금 은 이 효과 그림 부터 분석 하고 그 매개 변 수 를 설정 해 야 합 니 다.
    1.BottomTabBar 의 전체적인 배경
    일반적으로 이곳 은 흰색 이나 흰색 에 가 까 운 옅 은 색 조 를 배경 으로 하지만 우 리 는 그 에 게 고정 시 킬 수 없다.이러한 방법 을 제공 하여 사용자 가 배경 을 어떠한 색 으로 도 설정 할 수 있 도록 해 야 한다.
    2.그림
    여기에 그림 을 전송 해 야 할 뿐만 아니 라 그림 도 설정 해 야 한다.
  • 그림 의 너비 와 높이 사이즈(이것 도 대외 적 으로 하나의 방법 을 설정 해 야 한다)
  • 그림 은 가운데 로 설정 해 야 한다.이것 은 바로 고정 적 으로 쓰 면 된다.내 가 본 응용 프로그램 은 모두 가운데 로 설정 한 것 이다.다른 상황 을 본 적 이 없고 개인 적 인 느낌 도 없고 가운데 로 설정 하지 않 아 도 아름 답지 않다
  • 3.문자
    그림 과 유사 하 게 텍스트 도 설정 이 필요 합 니 다.
  • 문자 의 크기
  • 문자 도 가운데 에 설정 해 야 하고 그림 처럼 고정 적 으로 써 야 한다.
  • 4.색깔
    텍스트 와 그림 의 색상 은 모두 두 가지 입 니 다.하 나 는 선택 한 상태 에서,하 나 는 선택 되 지 않 은 것 입 니 다.우 리 는 여기에서 통일 적 으로 설정 할 수 있 습 니 다.하나의 방법 을 제공 하면 됩 니 다.
    5.여백
    여기에 세 곳 의 간격 을 설정 해 야 합 니 다.
  • Top 사 이 드,즉 그림 과 상단 분할 선의 거리
  • middle 여백,즉 그림 과 문자 의 거리
  • Bottom 의 여백,즉 문자 와 아래쪽 의 거리
  • 6.분할 선
    위 에서 말 했 듯 이 그림 위 에 분할 선 을 설정 해 야 합 니 다.물론 이것 은 일부 사용자 가 설정 해 야 하기 때문에 우 리 는 분할 선 을 표시 할 지 여 부 를 설정 하 는 방법 을 제공 해 야 합 니 다.그 밖 에 분할 선의 높이 와 배경 색 도 설정 해 야 한다.
    7、fragment
    이 BottomTabBar 는 fragment 와 연결 하려 면 fragment 를 입력 해 야 합 니 다.
    대체적인 매개 변 수 는 바로 이것 이 필요 하 다 는 것 이다.아래 의 코드 는:
    GitHub 코드 연결
    용법 도 간단 합 니 다.제목 에서 말 한 몇 줄 의 코드 처럼 해결 할 수 있 습 니 다.
    인용 방법:
    
    compile 'com.hjm:BottomTabBar:1.0.0'
    1.먼저 XML 파일 코드:
    
    <com.hjm.bottomtabbar.BottomTabBar
      android:id="@+id/bottom_tab_bar"
      android:layout_width="match_parent"
      android:layout_height="match_parent"/>
    간단 하 죠?이 컨트롤 하나만 있 으 면 됩 니 다.
    물론 속성 설정 을 하려 면 네 임 스페이스 가 필요 합 니 다.
    xmlns:hjm=" http://schemas.android.com/apk/res-auto "
    다음은 매개 변수의 의미 와 용법 을 상세 하 게 설명 하 겠 습 니 다.
    매개 변수 이름
    함의
    tab_bar_background
    BottomTabBar 의 전체 배경 색
    tab_img_width
    그림 너비
    tab_img_height
    그림 높이
    tab_font_size
    문자 크기
    tab_padding_top
    웃 거리
    tab_img_font_padding
    그림 텍스트 간격
    tab_padding_bottom
    아래쪽 여백
    tab_isshow_divider
    분할 선 표시 여부
    tab_divider_height
    분할 선 높이
    tab_divider_background
    분할 선 배경
    tab_selected_color
    선 택 된 색
    tab_unselected_color
    선택 되 지 않 은 색
    이 매개 변 수 는 XML 파일 에 연결 하여 설정 하 는 것 을 가리 킬 수 있다
    
    <com.hjm.bottomtabbar.BottomTabBar
      android:id="@+id/bottom_tab_bar"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      hjm:tab_divider_background="#FF0000"
      hjm:tab_divider_height="5dp"
      hjm:tab_font_size="6sp"
      hjm:tab_img_font_padding="0dp"
      hjm:tab_img_height="30dp"
      hjm:tab_img_width="30dp"
      hjm:tab_isshow_divider="true"
      hjm:tab_padding_bottom="5dp"
      hjm:tab_padding_top="8dp"
      hjm:tab_selected_color="#000000"  hjm:tab_unselected_color="@color/colorPrimary" />
    2.Activity 파일 코드:
    
    mBottomTabBar = (BottomTabBar) findViewById(R.id.bottom_tab_bar);
    mBottomTabBar.init(getSupportFragmentManager())
       .addTabItem("   ", R.mipmap.ic_launcher, OneFragment.class)
       .addTabItem("   ", R.mipmap.ic_launcher, TwoFragment.class)
       .addTabItem("   ", R.mipmap.ic_launcher, ThreeFragment.class)
       .addTabItem("   ", R.mipmap.ic_launcher, FourFragment.class);
    간단 하 죠?
    여기 서 간단하게 한 마디 하 자 면 이init ( getSupportFragmentManager() )방법 은 반드시 첫 번 째 로 호출 해 야 한다.이것 이 초기 화 되 지 않 으 면 뒤에 아무것도 할 수 없다.
    아마 여러분 도 알 아 보 셨 을 겁 니 다.이 init()방법 에 서 는 Fragment Manager 가 들 어가 야 하고 V4 가방 에 들 어가 야 하기 때문에 Activity 를 사용 할 때 주의해 야 합 니 다.
    아래 는 몇 가지 방법의 사용 으로 모두 주석 을 달 았 다.
    
     /**
       *        
       * <p>
       *       addTabItem()    
       *
       * @param width    px
       * @param height    px
       * @return
       */
      setImgSize(float width, float height)
      /**
       *        
       * <p>
       *       addTabItem()    
       *
       * @param textSize       sp
       * @return
       */
      setFontSize(float textSize)
      /**
       *   Tab padding 
       * <p>
       *       addTabItem()    
       *
       * @param top      px
       * @param middle         px
       * @param bottom     px
       * @return
       */
      setTabPadding(float top, float middle, float bottom)
      /**
       *           
       * <p>
       *       addTabItem()    
       *
       * @param selectColor       
       * @param unSelectColor       
       * @return
       */
      setChangeColor(@ColorInt int selectColor, @ColorInt int unSelectColor)
      /**
       *   BottomTabBar     
       *
       * @param color     
       * @return
       */
      setTabBarBackgroundColor(@ColorInt int color) 
      /**
       *        
       *
       * @param isShowDivider
       * @return
       */
      isShowDivider(boolean isShowDivider)
      /**
       *         
       *
       * @param height
       * @return
       */
      setDividerHeight(float height)
      /**
       *         
       *
       * @param color
       * @return
       */
      setDividerColor(@ColorInt int color) 
      /**
       *   TabItem
       *
       * @param name       
       * @param drawable     
       * @param fragmentClass fragment
       * @return
       */
      addTabItem(String name, Drawable drawable, Class fragmentClass)
    주의해 야 할 것 은 앞의 네 가지 방법 은 반드시addTabItem()이전에 호출 해 야 하 며,addTabItem()이후 에 호출 하면 아무런 효과 가 없다 는 것 이다.
    정확 한 용법 은 다음 과 같다.
    
    mBottomTabBar.init(getSupportFragmentManager())
       .setImgSize(50,50)
       .setFontSize(8)
       .setTabPadding(4,6,10)
       .setChangeColor(Color.DKGRAY,Color.RED)
       .addTabItem("   ", R.mipmap.ic_launcher, OneFragment.class)
       .addTabItem("   ", R.mipmap.ic_launcher, TwoFragment.class)
       .addTabItem("   ", R.mipmap.ic_launcher, ThreeFragment.class)
       .addTabItem("   ", R.mipmap.ic_launcher, FourFragment.class)
       .setTabBarBackgroundColor(Color.WHITE)
       .isShowDivider(false);
    총결산
    위 에서 말 한 것 은 소 편 이 여러분 에 게 소개 한 아주 간단 한 몇 줄 의 코드 로 안 드 로 이 드 밑 에 있 는 네 비게 이 션 표시 줄 기능 을 해결 하 는 것 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 저 에 게 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

    좋은 웹페이지 즐겨찾기