Как добавить изображения в Tabhost

Я хочу добавить фоновые изображения для Tabhost, которые я уже добавил в селектор XML. Но не уверен, как добавить ресурс при запуске Tab. Ниже вкладка:

Код для добавления: getResources(). GetDrawable(R.drawable.tabicon)

/* Tabs */
        Bundle bundle = getIntent().getExtras();
        TabHost tabHost = getTabHost();
        TabHost.TabSpec spec;
        Intent intent;

        // First Activity
        intent = new Intent().setClass(this, InfoListView.class);
        spec = tabHost.newTabSpec("some_things").setIndicator("Info").setContent(intent);
        tabHost.addTab(spec);

        // Second Activity
        intent = new Intent().setClass(this, LogListView.class);
        spec = tabHost.newTabSpec("top_things").setIndicator("Sync Log").setContent(intent);
        tabHost.addTab(spec);

        tabHost.getTabWidget().getChildAt(0).getLayoutParams().height = 95;
        tabHost.getTabWidget().getChildAt(1).getLayoutParams().height = 95;
        /* Tabs ends */

3 ответа

Создать TextView установите текст для этого textView, установите фон для рисования и установите для этого textview indicator

Примерно так:

TextView mTv = new TextView(mContext);
mTv.setText(/*Your-text*/);
mTv.setBackgroundDrawable(mContext.getResources.getDrawable(/*id-of-your-image*/));
spec = tabHost.newTabSpec("top_things").setIndicator(mTv).setContent(intent);
tabHost.addTab(spec);

После того, как ваш tabhost будет использован с индикатором и другими вещами, добавьте в него фон следующим образом

 tabHost.getTabWidget().getChildAt(0).setBackgroundResource(R.drawable.tabicon); //fro first tab 
 tabHost.getTabWidget().getChildAt(1).setBackgroundResource(R.drawable.tabicon); //for second tab           
Другие вопросы по тегам