2012-04-03 52 views
1

我有一些LoginActivity.java類。在onCreate方法我檢索的ListView:Android:如何檢索ListView高度並根據ListView Height設置ListView項目(單元格)高度?

ListView list = (ListView)findViewById(R.id.snListView); 

則:

list.setAdapter(adapter); 

此外還有login.xml佈局 - 有:

<ListView 
     android:id="@+id/snListView" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" > 
</ListView> 

和sn_row.xml:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="100dp"  
android:background="@drawable/listview_item_background" 
android:orientation="horizontal" > 
... 

此刻我有細胞的身高100dp,我需要該單元格的高度取決於設備,我的意思是我有5個單元格顯示在ListView中的登錄屏幕,我需要這5行將適合ListView(單元格的高度= ListView的高度/ 5)。

回答

0

那個單元應該覆蓋整個屏幕? 在這種情況下使用的LinearLayout來代替,並添加相對爲孩子的意見,例如:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:orientation="horizontal" 
     android:padding="10dp" > 

     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/icon48x48_2" /> 

     <TextView 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:text="test" /> 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:orientation="horizontal" 
     android:padding="10dp" > 

     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/icon48x48_2" /> 

     <TextView 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:text="test" /> 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:orientation="horizontal" 
     android:padding="10dp" > 

     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/icon48x48_2" /> 

     <TextView 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:text="test" /> 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:orientation="horizontal" 
     android:padding="10dp" > 

     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/icon48x48_2" /> 

     <TextView 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:text="test" /> 
    </LinearLayout> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="0dp" 
     android:layout_weight="1" 
     android:orientation="horizontal" 
     android:padding="10dp" > 

     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/icon48x48_2" /> 

     <TextView 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:text="test" /> 
    </LinearLayout> 

</LinearLayout> 

希望這有助於!

+0

他們應該覆蓋整個3/4全屏的列表視圖 – nik 2012-04-03 18:37:00