我有一些不同高度的图标,我的HTC Legend上的默认tabspec布局将图标放在顶部。
我希望通过为tabspec定义我自己的布局来使其居中,但经过多次风格和实验的实验后。背景,我仍然不能让它看起来像内置的布局。
所以我需要内置的Padding& amp;我的tabspec布局的背景,谁知道他们叫什么?
答案 0 :(得分:0)
太多摆弄 - 通过为标签创建固定高度和可变宽度图标来解决它:
private Drawable getTabIcon(byte chainID, Resources res) {
BitmapDrawable chainIcon = (BitmapDrawable) res.getDrawable(ChainDisplay.getIconID(chainID));
int tabIconHeight;
switch(res.getDisplayMetrics().densityDpi) {
case DisplayMetrics.DENSITY_LOW:
tabIconHeight = 24;
break;
case DisplayMetrics.DENSITY_MEDIUM:
tabIconHeight = 32;
break;
case DisplayMetrics.DENSITY_HIGH:
tabIconHeight = 48;
break;
default:
tabIconHeight = 48;
break;
}
Bitmap tabIconBitmap = Bitmap.createBitmap(chainIcon.getIntrinsicWidth(), tabIconHeight, Bitmap.Config.ARGB_8888);
new Canvas(tabIconBitmap).drawBitmap(chainIcon.getBitmap(), 0, (tabIconHeight - chainIcon.getIntrinsicHeight())/2, null);
return new BitmapDrawable(tabIconBitmap);
}
是否有人尝试使用缩放和Paint.ANTI_ALIAS_FLAG,但它很难看,因此选择了图像裁剪。