1

我想为已在选择器 xml 中添加的 Tabhost 添加背景图像。但不确定如何在启动 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 */
4

3 回答 3

0

创建一个TextView,将文本设置为该 textView,为其设置背景可绘制对象,并将此 textview 设置为indicator

于 2013-12-12T07:31:16.753 回答
0

有点像这样:

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);
于 2013-12-12T07:38:39.690 回答
0

在您的 tabhost 使用指示器和其他东西添加背景之后,像这样

 tabHost.getTabWidget().getChildAt(0).setBackgroundResource(R.drawable.tabicon); //fro first tab 
 tabHost.getTabWidget().getChildAt(1).setBackgroundResource(R.drawable.tabicon); //for second tab           
于 2013-12-12T07:52:02.437 回答