2013-03-21 62 views
4

簡單的問題:什麼是默認值爲android:dividerHeight正常的列表視圖?我敢打賭你可以在某處查找它,但我不知道在哪裏。Android:Android的默認值是什麼:dividerHeight的列表視圖

在此先感謝!

+0

圖像的固有高度是3px。你可以在這裏找到android源代碼:http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.0.1_r1/android/widget/ListView.java#ListView .setDivider%28android.graphics.drawable.Drawable 29% – vorrtex 2013-03-21 18:23:28

回答

2

其他的答案都只是部分正確。 ListView_dividerHeight是可風化的,但Android本身並未設置默認值(至少不是Android的股票)。如果應用程序本身不設置這樣的例如: - 價值

<item name="android:dividerHeight">5dp</item> 

然後@android:繪製/ divider_horizo​​ntal_dark_opaque將使用存在於四個不同的「口味」(LDPI,MDPI,華電國際和xhdpi)。

所以「真實」的答案是:沒有辦法告訴。這取決於:

  • 屏幕密度
  • Android版本
  • 定製製造商
  • 應用主題化
  • 其他可能的因素

爲了找到這些問題的答案你自己看看你的Android SDK文件夾:platforms \ android-17 \ data \ res \ values \ attrs.xml/styles.xml/themes.xml(android-17可能與您的installat不同離子)並閱讀關於主題&風格的文檔:http://developer.android.com/guide/topics/ui/themes.html

1

//你可以在你的Android SDK文件夾看 分隔只是一個9修補圖像

android-sdk-windows\platforms\android-xx\data\res\values\styles.xml 



<style name="Widget.ListView" parent="Widget.AbsListView"> 
     <item name="android:listSelector">@android:drawable/list_selector_background</item> 
     <item name="android:cacheColorHint">?android:attr/colorBackgroundCacheHint</item> 
     <item name="android:divider">@android:drawable/divider_horizontal_dark_opaque</item> 
    </style> 

    <style name="Widget.ListView.White" parent="Widget.AbsListView"> 
     <item name="android:listSelector">@android:drawable/list_selector_background</item> 
     <item name="android:cacheColorHint">?android:attr/colorBackgroundCacheHint</item> 
     <item name="android:divider">@android:drawable/divider_horizontal_bright_opaque</item> 
    </style> 
1

我敢打賭,這取決於所使用的Android版本/風格/手機制造商的變化。

快速瀏覽一下Android的源:

TypedArray a = context.obtainStyledAttributes(attrs, 
      com.android.internal.R.styleable.ListView, defStyle, 0); 

// Use the height specified, zero being the default 
final int dividerHeight = a.getDimensionPixelSize(
      com.android.internal.R.styleable.ListView_dividerHeight, 0); 
if (dividerHeight != 0) { 
    setDividerHeight(dividerHeight); 
}