2016-02-28 65 views
2

我想動作條的高度在我的onCreate方法動作條的高度,不經過這樣
第一種方式得到Android的

​​

爲此,我用這個代碼
第二種方式創建的視圖

final TypedArray styledAttributes = getTheme().obtainStyledAttributes(
      new int[] { android.R.attr.actionBarSize }); 
    int mActionBarSize = (int) styledAttributes.getDimension(0, 0); 
    styledAttributes.recycle(); 

但我的問題是,當我使用第一種方式,我得到動作條高度56,當我使用s ecound的方式,我得到的行動吧高度48.
和我認爲第一種方式是正確的答案,但我不想等到創建視圖。
任何人都可以幫助我解決這個問題嗎?
「我使用htc慾望200密度mdpi測試」

+0

既然你知道48 DP似乎是正確的,爲什麼不使用該值本身? –

回答

1

這兩個方法之間可以有兩個不同的高度,因爲它們返回兩個不同的東西的值。第一種方法返回實際的高度ActionBar。第二種方法返回android屬性actionBarSize的值。

正確的方法有真正的ActionBar高度是第一個,但如果你說你不想等待的意見創建,如果你正在使用Toolbar您可以通過XML他的身高設定爲?android:attr/actionBarSize和使用第二種方法,無論你想獲得像素的高度。