2012-04-03 95 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

相关问题