嘿所有,我设置了一个标签布局,以便每个标签都是我的自定义位图。这是主要的java文件:
public class HelloTabWidget1 extends TabActivity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Resources res = getResources();
TabHost tabHost = getTabHost();
TabHost.TabSpec spec;
Intent intent;
intent = new Intent().setClass(this, ArtistsActivity.class);
ImageView imgView1 = new ImageView(this);
BitmapDrawable bmd1 = new BitmapDrawable();
bmd1 = (BitmapDrawable) res.getDrawable(R.drawable.blue);
imgView1.setImageDrawable(bmd1);
spec = tabHost.newTabSpec("firsttab").setIndicator(imgView1)
.setContent(intent);
tabHost.addTab(spec);
intent = new Intent().setClass(this, AlbumsActivity.class);
ImageView imgView2 = new ImageView(this);
BitmapDrawable bmd2 = new BitmapDrawable();
bmd2 = (BitmapDrawable) res.getDrawable(R.drawable.pink);
imgView2.setImageDrawable(bmd2);
spec = tabHost.newTabSpec("secondtab").setIndicator(imgView2)
.setContent(intent);
tabHost.addTab(spec);
intent = new Intent().setClass(this, SongsActivity.class);
ImageView imgView3 = new ImageView(this);
BitmapDrawable bmd3 = new BitmapDrawable();
bmd3 = (BitmapDrawable) res.getDrawable(R.drawable.purple);
imgView3.setImageDrawable(bmd3);
spec = tabHost.newTabSpec("thirdtab").setIndicator(imgView3)
.setContent(intent);
tabHost.addTab(spec);
intent = new Intent().setClass(this, Forthtab.class);
ImageView imgView4 = new ImageView(this);
BitmapDrawable bmd4 = new BitmapDrawable();
bmd4 = (BitmapDrawable) res.getDrawable(R.drawable.red);
imgView4.setImageDrawable(bmd4);
spec = tabHost.newTabSpec("forthtab").setIndicator(imgView4)
.setContent(intent);
tabHost.addTab(spec);
tabHost.setCurrentTab(0);
}
}
我能够获得我想要的任何位图作为标签,问题是我的原始位图太小而无法看到,一旦我增加它们的大小,标签最终在屏幕中间有一个巨大的空白黑色它上面的空间。当我点击黑色空格时,它会相应地更改标签。有没有办法将它放回到最顶层并使每个位图填充一个标签?
答案 0 :(得分:0)
我能够找到一个临时解决方案。我基本上保持代码完全相同,但玩我的图像文件。我将位图图片更改为png文件,但重要的是指南here看起来Android系统对标签图标有一个极其敏感的系统。正如我所说这是一个临时解决方案,我打算更多地使用它。
我现在唯一需要帮助的是连接标签,使用谷歌推荐的48 x 48px设置的png图标,但标签图标没有触及。寻找解决方案让他们触摸,这样他们就在彼此旁边。