android中的Tab主机高度 for(int i=0;i

android中的Tab主机高度 for(int i=0;i,android,Android,在上面的代码中,一切正常,即我能够看到选项卡上的文本。但我无法看到设备中的文本。只有部分文本可见。请任何人都能找到解决办法 double height = tabHost.getTabWidget().getChildAt(0).getLayoutParams().height; for (int i = 0; i < tabHost.getTabWidget().getChildCount(); i++) { RelativeLayou

在上面的代码中,一切正常,即我能够看到选项卡上的文本。但我无法看到设备中的文本。只有部分文本可见。请任何人都能找到解决办法

    double height = tabHost.getTabWidget().getChildAt(0).getLayoutParams().height;

    for (int i = 0; i < tabHost.getTabWidget().getChildCount(); i++) {

                RelativeLayout relativeLayout = (RelativeLayout)tabHost.getTabWidget().getChildAt(i);
                TextView tabhostText = (TextView) relativeLayout.getChildAt(1);

                tabhostText.setTextSize(20.0f);
                tabHost.getTabWidget().getChildAt(i).getLayoutParams().height =  (int) (0.8 * height);

            }

提前谢谢

我知道你的问题已经提了10个月了,但之所以只有部分文本可见,是因为你将高度设置为30。手机上的默认值可能是96像素(如果手机的分辨率较低,则可能是64像素)

如果要使代码更通用,可以先获取选项卡的高度,然后将每个选项卡的高度设置为原始高度的百分比。在下面的示例中,我将选项卡的高度设置为原始高度的80%:

    for (int i = 0; i < tabHost.getTabWidget().getChildCount(); i++) {

            Log.v("","tabhost...");
            Log.v("","tabHost.getTabWidget().getChildAt(i).getLayoutParams() " +tabHost.getTabWidget().getChildAt(i));
            RelativeLayout relativeLayout = (RelativeLayout)tabHost.getTabWidget().getChildAt(i);
            relativeLayout.getChildCount();
            Log.v("","count  "+relativeLayout.getChildCount()+"   relativeLayout.getChildAt(i) "+relativeLayout.getChildAt(i));
            TextView tabhostText = (TextView) relativeLayout.getChildAt(1);

            tabhostText.setTextSize(20.0f);
            tabHost.getTabWidget().getChildAt(i).getLayoutParams().height = 30;

        }
double height=tabHost.getTabWidget().getChildAt(0.getLayoutParams().height;
对于(int i=0;i
p、 下次你可能想把你的问题说得更好。我想我理解你的要求,但只是因为我在做完全相同的事情。试着用普通的问题形式来表达你的问题(例如,以问号结尾)。

我找到了答案

    double height = tabHost.getTabWidget().getChildAt(0).getLayoutParams().height;

    for (int i = 0; i < tabHost.getTabWidget().getChildCount(); i++) {

                RelativeLayout relativeLayout = (RelativeLayout)tabHost.getTabWidget().getChildAt(i);
                TextView tabhostText = (TextView) relativeLayout.getChildAt(1);

                tabhostText.setTextSize(20.0f);
                tabHost.getTabWidget().getChildAt(i).getLayoutParams().height =  (int) (0.8 * height);

            }

只需对选项卡使用自定义布局。

当您需要在tabhost上进行高级自定义时,使用自定义布局是一个极好的解决方案。我已经成功地使用它为每个选项卡创建了自定义布局。然后可以使用v.findviewbyd()访问子控件