给动态高度底部Tabbar?

时间:2016-04-30 11:22:11

标签: android xml android-studio tabbar tabwidget

现在,我已经使用固定高度。这是我的代码。

我希望根据屏幕分辨率将此高度设置为动态。

for (int i = 0; i < tabHost.getTabWidget().getChildCount(); i++)
{
    tabHost.getTabWidget().getChildAt(i).getLayoutParams().height = 130;
    if (i == 0)
    {
    tabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.parseColor("#ffffff"));
    }
    else
    {
     tabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.WHITE);
     }
}

1 个答案:

答案 0 :(得分:2)

我找到了问题的解决方案

for (int i = 0; i < tabHost.getTabWidget().getChildCount(); i++)
        {
            // Log.e("Selcted : ", ""+i);
            tabHost.getTabWidget().getChildAt(i).getLayoutParams().height = getHeight(getApplicationContext());
            if (i == 0)
            {
                tabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.parseColor("#ffffff"));
            }
            else
            {
                tabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.WHITE);
            }
        }

从下方获取高度,您将获得Tabbar的完美高度。

 public int getHeight(Context context)
    {
     Resources resources = context.getResources();
 int resourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android");
if (resourceId > 0)
 {
return resources.getDimensionPixelSize(resourceId);
}
 return 0;
}