아주 간단 한 몇 줄 코드 로 안 드 로 이 드 밑 에 있 는 네 비게 이 션 표시 줄 기능 을 해결 합 니 다.
인터넷 에 안 드 로 이 드 밑 에 있 는 네 비게 이 션 표시 줄 에 관 한 글 이 적지 않 지만 모두 아래 Tab 에 관 한 것 같 습 니 다.Tab 와 fragment 의 연결 을 실현 하지 못 했 습 니 다.사용 할 때 이 코드 를 직접 써 야 합 니 다.저 에 게 게 게 으 름 은 프로그래머 의 미덕 이 라 고 합 니 다.프로그래머 에 게 는 참 을 수 없다.
다음은 제 Bottom Tab Bar 에 대해 서 말씀 드 리 겠 습 니 다.
이것 이 바로 제 가 예전 에 봉 인 했 던 BottomTabar 의 효과 그림 입 니 다.지금 은 이 효과 그림 부터 분석 하고 그 매개 변 수 를 설정 해 야 합 니 다.
1.BottomTabBar 의 전체적인 배경
일반적으로 이곳 은 흰색 이나 흰색 에 가 까 운 옅 은 색 조 를 배경 으로 하지만 우 리 는 그 에 게 고정 시 킬 수 없다.이러한 방법 을 제공 하여 사용자 가 배경 을 어떠한 색 으로 도 설정 할 수 있 도록 해 야 한다.
2.그림
여기에 그림 을 전송 해 야 할 뿐만 아니 라 그림 도 설정 해 야 한다.
그림 과 유사 하 게 텍스트 도 설정 이 필요 합 니 다.
텍스트 와 그림 의 색상 은 모두 두 가지 입 니 다.하 나 는 선택 한 상태 에서,하 나 는 선택 되 지 않 은 것 입 니 다.우 리 는 여기에서 통일 적 으로 설정 할 수 있 습 니 다.하나의 방법 을 제공 하면 됩 니 다.
5.여백
여기에 세 곳 의 간격 을 설정 해 야 합 니 다.
위 에서 말 했 듯 이 그림 위 에 분할 선 을 설정 해 야 합 니 다.물론 이것 은 일부 사용자 가 설정 해 야 하기 때문에 우 리 는 분할 선 을 표시 할 지 여 부 를 설정 하 는 방법 을 제공 해 야 합 니 다.그 밖 에 분할 선의 높이 와 배경 색 도 설정 해 야 한다.
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);
총결산위 에서 말 한 것 은 소 편 이 여러분 에 게 소개 한 아주 간단 한 몇 줄 의 코드 로 안 드 로 이 드 밑 에 있 는 네 비게 이 션 표시 줄 기능 을 해결 하 는 것 입 니 다.여러분 에 게 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 저 에 게 메 시 지 를 남 겨 주세요.소 편 은 제때에 답 해 드 리 겠 습 니 다.여기 서도 저희 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Kotlin의 기초 - 2부지난 글에서는 Kotlin이 무엇인지, Kotlin의 특징, Kotlin에서 변수 및 데이터 유형을 선언하는 방법과 같은 Kotlin의 기본 개념에 대해 배웠습니다. 유형 변환은 데이터 변수의 한 유형을 다른 데이터...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.