2012-04-03 24 views
1

私はいくつかのクラスLoginActivity.javaを持っています。Android:ListViewの高さを取得し、ListViewの高さに応じてListView Items(セル)の高さを設定するにはどうすればよいですか?

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

その後:私はListViewコントロールを取得するのonCreateメソッドで

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

関連する問題