TabHost.TabSpec布局,看起来像内置布局

时间:2010-12-14 15:39:00

标签: android layout android-tabhost

我有一些不同高度的图标,我的HTC Legend上的默认tabspec布局将图标放在顶部。

我希望通过为tabspec定义我自己的布局来使其居中,但经过多次风格和实验的实验后。背景,我仍然不能让它看起来像内置的布局。

所以我需要内置的Padding& amp;我的tabspec布局的背景,谁知道他们叫什么?

1 个答案:

答案 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,但它很难看,因此选择了图像裁剪。