2014-12-22 2 views
1

탭 호스트 색 표시기 색 설정 방법 밝은 파란색 기본 색을 변경하려면 RED라고 말하십시오. 내가 프로그래밍 방식으로 탭을 만드는 중이라서으로색 탭 호스트 표시기 설정

enter image description here

은 내가 프로그래밍 방식이 필요.

나는 약간의 연구를했고이 예제를 보았지만 나에게는 도움이되지 못했다. Progamtic 접근 방식.

TabWidget current tab bottom line color

감사

+0

사실, 탭이 프로그램에 추가하는 경우에도 링크 된 응답 작품에서 솔루션. 너 해봤 니? 어떤 문제가 발생 했습니까? – matiash

+0

@matiash 예 그렇지만 색상이 항상 흰색이되고 싶지는 않습니다. – iqueqiorio

+0

명확하게 ... 색상을 동적으로 변경해야합니까? 마찬가지로, 그들은 빨간색이고 다음은 파란색입니다. 그것은 가능하지만 약간 더 복잡합니다. – matiash

답변

1

는 당신은 당신이 언급 linked question에서 솔루션을 다음 플러스 색상을 조정하는 ColorFilter을 추가하여, 당신이 원하는대로 색상을 변경, 프로그램이 작업을 수행 할 수 있습니다.

그래서 :

  1. 적절한 당김을 만듭니다. 대답 중 하나에서 언급 한 가장 쉬운 방법은 사용하고 있습니다 https://jgilfelt.github.io/android-actionbarstylegenerator/
  2. tab_indicator_ab_example.xml (드로어 블 가능)과 각 드로잉 가능 밀도에 대한 6 개의 연관된 png 파일 (탭 _ * .png)을 프로젝트에 삽입하십시오. 있는 그대로, 는 자사의 색상을 변경하기 위해 컬러 필터를 사용 드로어 블을 설정하는
  3. 대신 :
  4. 탭을 만든 후 TabWidget 아이 뷰를 통해 반복이 그러나 자신의 배경을 설정하는 코드를 사용 원하는 사람. 대신이 코드의

이 같은

for(int i = 0; i < widget.getChildCount(); i++) { 
    ... /* same as before */ 

    v.setBackgroundResource(R.drawable.your_tab_selector_drawable); 
} 

쓰기 무언가 :

for(int i = 0; i < widget.getChildCount(); i++) { 
    ... /* same as before */ 

    Drawable d = getResources().getDrawable(R.drawable.tab_indicator_ab_example); 
    d.setColorFilter(Color.GREEN, PorterDuff.Mode.SRC_IN); 
    v.setBackgroundDrawable(d); 
} 
+0

예예요 한 번 열면 녹색이고 다른 시간은 빨강이라고 할 수 있습니다. 내 drawable에 xml 파일을 추가할까요? – iqueqiorio

+0

@iqueqiorio 스타일 생성기가 생성 한 압축 파일에서 내가 언급 한 파일을 프로젝트의 res에 복사하십시오. – matiash

+0

알았어 :) 유일한 것은'setBackgroundDrawable'이 사용되지 않는다는 것입니다. 사용하지 말아야 할 메소드를 사용하는 것을 좋아하지 않습니다. – iqueqiorio

관련 문제