我在列表视图中添加了以下XML布局:
<RelativeLayout·
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="4dp"
>
<TextView·
android:id="@+id/librarySongName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textStyle="bold"
android:ellipsize="marquee"
android:scrollHorizontally="true"
android:lines="1"
android:layout_alignParentLeft="true"
/>
<TextView·
android:id="@+id/libraryArtistName"
android:layout_gravity="center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:layout_below="@id/librarySongName"
android:paddingLeft="4dp"
/>
<ImageButton
android:id="@+id/lib_add_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minHeight="40dp"
android:minWidth="40dp"
android:src="@android:drawable/ic_input_add"
android:layout_alignParentRight="true"
android:gravity="center_vertical"
/>
</RelativeLayout>
然而,当我得到歌曲标题太长时,我的观点最终看起来像这样:
正如你所看到的,有些歌曲标题只是被截断而不是正确地进行了椭圆化。有谁知道我怎么解决这个问题?
答案 0 :(得分:1)
<TextView·
android:id="@+id/librarySongName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textStyle="bold" android:layout_toLeftOf="@+id/lib_add_button"
android:ellipsize="marquee"
android:scrollHorizontally="true"
android:lines="1" gravity="left"
android:layout_alignParentLeft="true"
/>
在此处添加android:layout_toLeftOf="@+id/lib_add_button"
和gravity="left"
答案 1 :(得分:0)
将textview librarySongName的填充设置为:
android:paddingRight="25dip"
答案 2 :(得分:0)
为TextView和Image Button提供weight
或fixed width
而不是说wrap_content ...因为当你说权重时两个视图都需要一些固定宽度..但是当你说wrap_content时它们会占用尽可能多的空间因为他们想要包装他们的内容......
答案 3 :(得分:0)
试试这个布局:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:padding="4dp"
>
<ImageButton
android:id="@+id/lib_add_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:minHeight="40dp"
android:minWidth="40dp"
android:src="@android:drawable/ic_input_add"
android:layout_alignParentRight="true"
android:gravity="center_vertical"
/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toLeftOf="@id/lib_add_button"
android:orientation="vertical">
<TextView
android:id="@+id/librarySongName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textStyle="bold"
android:ellipsize="marquee"
android:scrollHorizontally="true"
android:lines="1"
/>
<TextView
android:id="@+id/libraryArtistName"
android:layout_gravity="center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:paddingLeft="4dp"
/>
</LinearLayout>
</RelativeLayout>
我将TextView
包裹在LinearLayout
中,并将其从左侧填充到右侧的ImageButton
。