1

リストビューがあり、各アイテムは次のようにレンダリングされます

<?xml version="1.0" encoding="utf-8"?>
<!--  Single List Item Design -->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"       
        android:layout_height="?android:attr/listPreferredItemHeight"
        android:padding="6dip">

   <ImageView  
        android:id="@+id/projectImage"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_marginRight="6dip"
        android:src="@drawable/project_icon" 
        android:contentDescription = "@string/projectIcon" />       

   <LinearLayout
        android:id="@+id/projectDetails"
        android:orientation="vertical"
        android:layout_width="0dip"
        android:layout_weight="1"
        android:layout_height="0dip">    

   <TextView
        android:id="@+id/topText"
        android:layout_width="fill_parent"
        android:layout_height="0dip"
        android:padding="10dip"
        android:textSize="16sp"
        android:textStyle="bold"        
        android:textColor="@color/text_color"
        android:gravity="center_vertical" />   

   <TextView
            android:id="@+id/bottomText"
            android:layout_width="fill_parent"
            android:layout_height="0dip"                
            android:paddingLeft="10dip"                
            android:textSize="14sp"         
            android:singleLine="true"           
            android:textColor="@color/locationText_color"
            android:ellipsize="marquee" />
   </LinearLayout>   
</LinearLayout>

しかし、私のリストビューは適切にレンダリングされていません。リスト項目が短すぎてコンテンツが表示されません。以下を参照してください

ここに画像の説明を入力

私はカスタムスタイルを使用しています。私も変えてみました

android:layout_height="?android:attr/listPreferredItemHeight"

android:layout_height="100dip"

しかし、うまくいきませんでした。

誰でも助けてください。

4

2 に答える 2

2

まず、私のコメントで述べたようにinflate()、行レイアウト ファイルを拡張するときは常にこのバージョンのメソッドを使用LayoutParamsして、行ビューの権限を設定する必要があります。

inflater.inflate(R.layout.row_layout, parent, false)

表示されていない2 つに関しては、TextViews正確にどのように配置したいのかわかりません。これが私が思うことです:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"       
        android:layout_height="?android:attr/listPreferredItemHeight"
        android:padding="6dip">

   <ImageView  
        android:id="@+id/projectImage"
        android:layout_width="wrap_content"
        android:layout_height="fill_parent"
        android:layout_marginRight="6dip"
        android:src="@drawable/project_icon" 
        android:contentDescription = "@string/projectIcon" />       

   <LinearLayout
        android:id="@+id/projectDetails"
        android:orientation="vertical"
        android:layout_width="0dip"
        android:layout_weight="1"
        android:layout_height="fill_parent">    

   <TextView
        android:id="@+id/topText"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:padding="10dip"
        android:textSize="16sp"
        android:textStyle="bold"        
        android:textColor="@color/text_color"
        android:gravity="center_vertical" />   

   <TextView
            android:id="@+id/bottomText"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"                
            android:paddingLeft="10dip"                
            android:textSize="14sp"         
            android:singleLine="true"           
            android:textColor="@color/locationText_color"
            android:ellipsize="marquee" />
   </LinearLayout>   
</LinearLayout>
于 2013-01-18T14:02:06.433 に答える
0

TextViewsの高さを0dpに設定しました。

    android:layout_height="0dip"

wrap_contentTextViewsに変更するか、ウェイトを設定します。親LinearLayoutの重みはそれらに適用されません。

于 2013-01-18T13:35:34.943 に答える