1

ListViewの行のxmlは次のとおりです。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:padding="6dip">
<ImageView android:id="@+id/cover" android:layout_width="64dip"
    android:layout_height="64dip" android:layout_alignParentTop="true"
    android:layout_alignParentBottom="true" android:layout_marginRight="6dip" />
<TextView android:id="@+id/loan" style="@style/DetailsLabel.Small"
    android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:layout_toRightOf="@id/cover" android:layout_alignParentRight="true" />
<TextView android:id="@+id/title" style="@style/DetailsLabel.Small"
    android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:layout_toRightOf="@id/cover" android:layout_alignParentRight="true"
    android:layout_alignParentTop="true" android:layout_above="@id/loan"
    android:layout_alignWithParentIfMissing="true" android:gravity="center_vertical"
    android:singleLine="true" android:ellipsize="end" />
<RatingBar android:id="@+id/ratingBarIndicator" style="?android:attr/ratingBarStyleSmall"
    android:layout_width="fill_parent" android:layout_height="wrap_content"
    android:layout_toRightOf="@id/cover" android:layout_below="@id/title"
    android:layout_alignParentRight="true" android:gravity="center_vertical" />

そしてここに結果があります: 代替テキスト

(これは単純なドーナツ1.6です)。

私が達成しようとしているのは、左側にカバーがあり、右側にタイトル、評価バー、オプションのローンステータスが続きます。ご覧のとおり、RatingBarは際限なく繰り返されています(星は5つだけである必要があります)。ローンステータスが設定されている場合は常に、タイトルが消えます。XMLを修正して、希望する効果を実現するにはどうすればよいですか?

4

2 に答える 2

2

私は次のように評価バーを修正することから始めます:

 <RatingBar
            android:id="@+id/ratingBarIndicator"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            style="?android:attr/ratingBarStyleSmall"
            android:numStars="5"
            android:isIndicator="true" />

次に、親の右側に配置します(オプションでandroid:layout_centerVertical = "true"を使用)。その後、タイトルを表紙の右側と評価バーの左側に配置します)次に、たとえば、タイトルの下と表紙の右側にラベルを貸し出すことができます。

于 2010-10-15T19:23:27.610 に答える
0

何が問題になっているのかを知るために、Heirarchy Viewer(SDKのtoolsフォルダーにあります)でレイアウトを確認することができます。

個人的には、そのレイアウトを実現するために、RelativeLayoutの代わりにいくつかのLinearLayoutを使用します。私はRelativeLayoutsが非常に混乱し、正しく理解するのが難しいと感じています(しかしそれは私の意見です)。

例えば:

<LinearLayout 
  android:orientation="horizontal" 
  android:layout_width="fill_parent" 
  android:layout_height="wrap_content">
  <ImageView
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"/>
  <LinearLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">
       <TextView android:id="@+id/loan" .../>
       <TextView android:id="@+id/title" .../>
       <RatingBar android:layout_width="wrap_content .../>
  </LinearLayout>
</LinearLayout>

ローンtextViewが空のときにスペースを占有したくない場合は、ListViewアダプターのgetViewでその可視性をGONEに設定する必要があります。でも試してみてください。

于 2010-10-15T18:36:33.437 に答える