我在我的應用程序中使用了Actionbar。
我想要的動作條的高度編程,因此我使用:
獲取ActionBar的高度
ActionBar.getHeight();
但我得到高度的0值。 那麼如何獲得ActionBar的高度?
我在我的應用程序中使用了Actionbar。
我想要的動作條的高度編程,因此我使用:
獲取ActionBar的高度
ActionBar.getHeight();
但我得到高度的0值。 那麼如何獲得ActionBar的高度?
我找到了替代ActionBar.getHeight()
如果有人面臨同樣的問題,然後this鏈接是有用的。
而如果你想明確地控制 的動作條的大小是有辦法把它拉起來不鎖定 大小,我支持文檔中找到@小鳥的回答是一個選項。這有點尷尬,但 它適用於我。你需要一個上下文,這個例子在一個Activity中是有效的 。 〜Anthony
// Calculate ActionBar's height
TypedValue tv = new TypedValue();
if (getTheme().resolveAttribute(android.R.attr.actionBarSize, tv, true)) {
actionBarHeight = TypedValue.complexToDimensionPixelSize(tv.data,getResources().getDisplayMetrics());
}
一種簡單的方式找到動作條高度是從活動onPrepareOptionMenu方法。
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
....
int actionBarHeight = getActionBar().getHeight());
.....
}
下面的代碼也會有幫助。您可能需要更改的getContext()這個
final TypedArray styledAttributes = getContext().getTheme().obtainStyledAttributes(
new int[] { android.R.attr.actionBarSize });
mActionBarSize = (int) styledAttributes.getDimension(0, 0);
styledAttributes.recycle();
答案是從這個問題What is the size of ActionBar in pixels?
複製對於Android的新版本,你可以簡單地這樣做:
getActionBar().getHeight()
欣賞@Tim Hong。我會研究這一點。 – KDeogharkar
對於較新版本的Android,您可以簡單地執行此操作: getActionBar()。getHeight() –
即使isShowing爲true(可能在其動畫期間),getHeight()也可以返回0。在某些情況下,您可能需要使用屬性方法。 – 2014-04-30 17:11:07
「機器人。 R.attr.actionBarSize「在Android版本2.3中不起作用,但」R.attr.actionBarSize「正在工作android所有版本。只需使用「R.attr.actionBarSize」而不是「android.R.attr.actionBarSize」等。 –
任何人都知道如何在java(javafx)? – Lealo