1

对于放入列表视图中的项目,我有以下 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>

但是,当我得到太长的歌曲标题时,我的视图最终看起来像这样:

列表视图的图片

如您所见,有些歌曲标题只是被截断而不是被正确省略。有谁知道我该如何解决这个问题?

4

4 回答 4

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"

于 2012-05-07T04:43:24.297 回答
0

将 textview librarySongName 的 Padding 设置为:

 android:paddingRight="25dip"
于 2012-05-07T04:40:47.303 回答
0

weightfixed width为 TextView 和 Image Button 而不是说 wrap_content... 因为当您说 weight 时,两个视图都需要一些固定的宽度.. 但是当您说 wrap_content 他们需要尽可能多的空间来包装他们的内容...

于 2012-05-07T04:41:24.030 回答
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>

我将 s 包裹TextView在 a 中LinearLayout,并使其从左到右填充该区域ImageButton

于 2012-05-07T04:53:36.967 回答