내가 응용 프로그램에 대한 다음과 같은 배경을 구현하기 위해 노력하고 ... 배경 이미지 (응용 프로그램 배경) ... 내가 된 setContentView (레이아웃)에서 이미지를 설정하고 들어 안드로이드 UI TabActivity 문제
.. .이 줄을 추가하여 런타임 예외가 발생했습니다 ...
서브 액티비티에서이 배경을 설정하면 .. 전체 응용 프로그램 배경을 채우는 배경을 얻지 못할 것입니다 .. 어떤 아이디어가 대안이됩니까?
public class HMITabActivity extends TabActivity{
private TabHost tabHost = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.background);
tabHost = getTabHost();
tabHost.setOnTabChangedListener(new OnTabChangeListener() {
@Override
public void onTabChanged(String tabId) {
setTabHostColors();
}
});
tabHost.addTab(tabHost.newTabSpec("Tasks")
.setIndicator("Tasks", getResources().getDrawable(R.drawable.icon_task))
.setContent(new Intent(this, Tasks.class)));
tabHost.addTab(tabHost.newTabSpec("HMI")
.setIndicator("HMI", getResources().getDrawable(R.drawable.icon_hmi))
.setContent(new Intent(this, HMI.class)));
tabHost.addTab(tabHost.newTabSpec("Diagnostics")
.setIndicator("Diagnostics", getResources().getDrawable(R.drawable.icon_diagnostics))
.setContent(new Intent(this, Diagnostics.class)));
tabHost.addTab(tabHost.newTabSpec("About")
.setIndicator("About", getResources().getDrawable(R.drawable.icon_info))
.setContent(new Intent(this, Tasks.class).addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP)));
Intent intent = new Intent(BackgroundService.class.getName());
startService(intent);
}
private void setTabHostColors() {
for(int i=0;i<tabHost.getTabWidget().getChildCount();i++) {
tabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.rgb(1, 1, 1)); //unselected
}
tabHost.getTabWidget().getChildAt(tabHost.getCurrentTab()).setBackgroundColor(Color.rgb(50, 120, 160)); // selected
}
} 당신이 사용자 정의 탭을 사용해야합니다이를 위해
나만의 맞춤 탭을 만드는 것이 좋습니다. 그렇게하면 모든 장치에서 동일하게 보일 것입니다. 안드로이드 탭이 다른 장치에서 항상 동일하게 보이지는 않습니다. – binnyb
오 ... 맞습니까? 나는 그것을 인식하지 못했습니다 ... 감사합니다 ... –