Android 在清单中设置minSdkVersion和targetSdkVersion会导致某些图形比通常的小

Android 在清单中设置minSdkVersion和targetSdkVersion会导致某些图形比通常的小,android,tabs,Android,Tabs,我将minSdkVersion设置为8,targetSdkVersion也设置为8,除了一件事之外,一切似乎都正常。我的选项卡栏(自定义选项卡栏)图形已缩小到其大小的一半左右。应用程序中的所有其他图形看起来都很好。可能值得注意的是,选项卡栏图形是我在应用程序启动时以编程方式调整大小的唯一图形。下面是我的setUpTabs()方法的一个片段: 现在,我为高度设置的49以像素或倾角为单位???这可能是导致问题的原因吗?我可以在xml文件中设置这些选项卡吗 此外,当我将鼠标悬停在“高度”一词上时,in

我将minSdkVersion设置为8,targetSdkVersion也设置为8,除了一件事之外,一切似乎都正常。我的选项卡栏(自定义选项卡栏)图形已缩小到其大小的一半左右。应用程序中的所有其他图形看起来都很好。可能值得注意的是,选项卡栏图形是我在应用程序启动时以编程方式调整大小的唯一图形。下面是我的setUpTabs()方法的一个片段:

现在,我为高度设置的49以像素或倾角为单位???这可能是导致问题的原因吗?我可以在xml文件中设置这些选项卡吗

此外,当我将鼠标悬停在“高度”一词上时,intellisense会告诉我以下信息:

有关视图希望有多高的信息。可以是一个常量FILL_PARENT(在API级别8中由MATCH_PARENT替换)或WRAP_CONTENT。或者确切的尺寸

当我尝试匹配父母时,它说它无法解决。我在哪里可以买到这个


非常感谢。

我不认为你应该这样做:

mTabHost.getTabWidget().getChildAt(0).getLayoutParams().height = 49;
并期望它能坚持下去。好吧,你应该做:

RelativeLayout.LayoutParams lp =  mTabHost.getTabWidget().getChildAt(0).getLayoutParams();
lp.height = 49;
mTabHost.getTabWidget().getChildAt(0).setLayoutParams(lp);
此外,您正在将高度设置为固定像素。如果希望小部件在多个屏幕分辨率下保持相同高度,则应始终使用
dip
。从倾角到像素的转换很容易:

final float scale = getResources().getDisplayMetrics().density;
int pixels =  49 * scale + 0.5;

所有这些行的名称:
mTabHost.getTabWidget().getChildAt(x.getLayoutParams().height=49实际上什么都不做。。。
final float scale = getResources().getDisplayMetrics().density;
int pixels =  49 * scale + 0.5;