0
我有一些不同高度的圖標,我的HTC Legend上的默認tabspec佈局將圖標放在頂部。看起來像內置佈局的TabHost.TabSpec佈局
我想通過爲tabspec定義我自己的佈局來對其進行居中,但經過多次實驗後,我仍然無法使其看起來像內置佈局。
所以我需要爲我的tabspec佈局內置填充&背景,任何人都知道他們被稱爲什麼? -
我有一些不同高度的圖標,我的HTC Legend上的默認tabspec佈局將圖標放在頂部。看起來像內置佈局的TabHost.TabSpec佈局
我想通過爲tabspec定義我自己的佈局來對其進行居中,但經過多次實驗後,我仍然無法使其看起來像內置佈局。
所以我需要爲我的tabspec佈局內置填充&背景,任何人都知道他們被稱爲什麼? -
太多擺弄通過創建一個固定的高度和寬度可變圖標的標籤解決它:
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實驗,但它是醜陋的,所以圖像裁剪被選中。
將樣式設置爲「@android:style/Widget.TabWidget」導致:android.content.res.Resources $ NotFoundException:來自可繪製資源ID的文件res/drawable-mdpi/title_bar_shadow.9.png#0x1030034 – 2010-12-14 15:54:53