2016-04-30 78 views
1

現在,我已經使它與固定的高度。這是我的代碼。給動態高度Tabbar底部?

我想根據屏幕分辨率給這個高度動態的。

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); 
    } 
} 

回答

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; 
}