カスタム listView xml アイテムを作成しました。しかし、期待した結果が得られません...背景色を変更して、2 番目の画像で何が起こっているかをより詳細に示しました。
基本的に、プレイリスト アイテムは画面の右側に拡張する必要があり、色付きのテキストはすべて画面の右側に配置する必要があります (これがデザイナーが示しているものです)。現在、色付きのテキストは曲のタイトルが終わる位置に並んでいます。
これを修正するにはどうすればよいですか?
期待される結果
私が得ているもの!
<?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="64dp"
android:orientation="horizontal" >
<ImageView
android:id="@+id/imgSongThumbnail"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_weight="0"
android:contentDescription="@string/hello_world"
android:src="@drawable/crayonpop_barbarbar" />
<FrameLayout
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_weight="0" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_margin="8dp"
android:orientation="vertical" >
<TextView
android:id="@+id/txtSongName"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:ellipsize="middle"
android:singleLine="true"
android:text="Bar Bar Bar Bar Bar Bar Bar"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#DDD" />
<TextView
android:id="@+id/txtGroupName"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/group"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#DDD"
android:singleLine="true" />
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:layout_gravity="end"
android:layout_margin="8dp"
android:gravity="bottom"
android:orientation="vertical" >
<TextView
android:id="@+id/txtSongMetaInfo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="end"
android:layout_weight="0"
android:text="@string/meta_data"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@android:color/holo_blue_bright"
android:textSize="12sp" />
</LinearLayout>
</FrameLayout>
</LinearLayout>
アップデート
ここにたくさんの回答が表示されることに気付く前に、ハイブリッドLinearLayout
xスキームに従うようにコードを作り直しました。RelativeLayout
@yahyaは私が思いついたものとほぼ同じだったので、その答えを受け入れました.
以下は、私のコード (以下の @yahya の回答と非常によく似ています) が私の電話でどのように見えるかです。さあ...これらの曲を調べて楽しんでください ;)