0

나는 BottomNavigationView* 탭 표시 줄이 있으며 배경색을 설정하고 싶지만 런타임까지는 색이 없습니다. 마치 setItemBackground에 리소스 ID가 필요한 것처럼 보입니다.런타임에 프로그래밍 방식으로 BottomNavigationView 배경색을 설정하는 방법

GradientDrawable 또는 이와 비슷한 자원을 만드는 방법이 있습니까? 그런 다음 새 자원 ID를 전달 하시겠습니까?

또 내가 놓친 XML을 사용하지 않고 다른 방법으로이 방법을 사용하면 색상 또는 Drawable을 전달할 수 있습니까? https://github.com/ittianyu/BottomNavigationViewEx

답변

1

BottomNavigationViewEx 상속을 setBackground(Drawable drawable) 방법이있다 View에서 그것은 또한 당신에게 당신이 원하는 것을 달성의 가능성을 제공합니다. 배경을 설정하려는 경우 사용하십시오. 항목의 배경을 변경하려면 동적으로 생성 된 자원을 지원하는 것처럼 보이지 않으므로 서브 클래스를 작성하거나 BottomNavigationViewEx의 사용자 정의 구현을 작성해야합니다. 그러나 나는 그런 것을 금지하는 것을 보지 못한다.

+0

물론! 나는 내가 어떻게 그것을 놓쳤는 지 모른다. 감사 –

1

I : 실제로 여기에서 그것의 확장이다 BottomNavigationViewEx를 사용하지만, 내 질문에 많은 차이가되지 않습니다

그것은이 너무 어렵다는 것을 이상한 것 같다 ...

* BottomNavigationView에서 어떻게 수행되는지 모르거나 (적어도 내가 쉬운 해결책을 지적한 문서에서 아무 것도 찾지 못했을 때) 가능하지만 개인적으로는 AHBottomNavigation을 시도해 본 결과 더 완벽 해 보입니다.

bottomNavigation.setDefaultBackgroundColor(Color.parseColor("#FEFEFE")); 

링크 자식 프로젝트 : HERE

+0

다른 해결책은 더 간단하지만 나중에 변경해야하는 경우이 대체 탐색 모음을 염두에 둡니다. –

관련 문제