안드로이드 개발 질문/답변
(글 수 45,052)
제가 아래 소스와 같이 탭을 구현을 했습니다. 선택이 유무에 따라 탭의 배경색이 달라지게 했는데..
글자색이 잘 안보여서 변경을 할려고 하는데 잘 모르겠습니다.
배경에다가 텍스트 같이 입혀서 하는 방법 말고 소스상이나 xml 레이아웃에서 바꾸는 방법
아시는 분 있나여?
/*
* 탭을 그린다.
*/
private void createTab() {
tabHost = getTabHost();
tabHost.addTab(tabHost.newTabSpec("tab1")
.setIndicator("회사별")
.setContent(new Intent(this, Menu1_Sub1.class)));
tabHost.addTab(tabHost.newTabSpec("tab2")
.setIndicator("근무지별")
.setContent(new Intent(this, Menu1_Sub2.class)));
//tabwidget의 높이 조절 - xml에서는 안된다.
for(int tab=0; tab < tabHost.getTabWidget().getChildCount(); tab++) {
tabHost.getTabWidget().getChildAt(tab).getLayoutParams().height = 50;
}
// TabHost 에 포함된 Tab의 색깔을 모두 바꾼다, 개별적용
tabHost.getTabWidget().getChildAt(0).setBackgroundResource(R.drawable.com_tab01_on);
tabHost.getTabWidget().getChildAt(1).setBackgroundResource(R.drawable.com_tab02_off);
// 첫번째 탭이 먼저 선택
tabHost.setCurrentTab(0);
// Tab Change 이벤트 리스너 등록
tabHost.setOnTabChangedListener( this );
}
/*
* 탭이 선택될 때 이미지 파일을 바꾸어 준다.
*/
public void onTabChanged(String tabId) {
if(tabId.equals("tab1")){
tabHost.getTabWidget().getChildAt(0).setBackgroundResource(R.drawable.com_tab01_on);
tabHost.getTabWidget().getChildAt(1).setBackgroundResource(R.drawable.com_tab02_off);
}else{
tabHost.getTabWidget().getChildAt(0).setBackgroundResource(R.drawable.com_tab01_off);
tabHost.getTabWidget().getChildAt(1).setBackgroundResource(R.drawable.com_tab02_on);
}
}