嘿,我已经创建了Google的tab layout
的例子HelloTabWidget.java:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Resources res = getResources(); // Resource object to get Drawables
TabHost tabHost = getTabHost(); // The activity TabHost
TabHost.TabSpec spec; // Resusable TabSpec for each tab
Intent intent; // Reusable Intent for each tab
// Create an Intent to launch an Activity for the tab (to be reused)
intent = new Intent().setClass(this, ArtistsActivity.class);
// Initialize a TabSpec for each tab and add it to the TabHost
spec = tabHost.newTabSpec("artists").setIndicator("Artists",
res.getDrawable(R.drawable.ic_tab_artists))
.setContent(intent);
tabHost.addTab(spec);
// Do the same for the other tabs
intent = new Intent().setClass(this, AlbumsActivity.class);
spec = tabHost.newTabSpec("albums").setIndicator("Albums",
res.getDrawable(R.drawable.ic_tab_albums))
.setContent(intent);
tabHost.addTab(spec);
intent = new Intent().setClass(this, SongsActivity.class);
spec = tabHost.newTabSpec("songs").setIndicator("Songs",
res.getDrawable(R.drawable.ic_tab_songs))
.setContent(intent);
tabHost.addTab(spec);
tabHost.setCurrentTab(2);
}
我知道如何创建我自己的图标而不是灰色和白色麦克风,但我无法弄清楚如何使我的自定义图标填充整个标签。当选项卡被选中时,它是浅灰色,我的照片在中间,当没有选中时,它是一个深灰色,我的照片在中间。我更喜欢让我自己的照片填满整个标签,并且更有见识;我自己选择填充标签。
答案 0 :(得分:3)
您可以使用setIndicator(View view)
使用Tab指标执行更复杂的操作。
尝试玩这个......
ImageView imgView = new ImageView(this);
// Use imgView.setImageDrawable(Drawable drawable) or
// imgView.setImageBitmap(Bitmap bitmap) to load
// the image you want into imgView
spec = tabHost.newTabSpec("artists").setIndicator(imgView).setContent(intent);
我不确定这是不是你想要的但是你可以(理论上)使用任何View类作为指标,如果ImageView不适合你。
编辑:
我试过......
BitmapDrawable bmd = new BitmapDrawable();
bmd = (BitmapDrawable) res.getDrawable(R.drawable.ic_tab_artists_grey);
imgView.setImageDrawable(bmd);