文本进入Button

时间:2012-05-07 04:38:26

标签: android android-listview textview

我在列表视图中添加了以下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>

然而,当我得到歌曲标题太长时,我的观点最终看起来像这样:

Picture of list view

正如你所看到的,有些歌曲标题只是被截断而不是正确地进行了椭圆化。有谁知道我怎么解决这个问题?

4 个答案:

答案 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提供weightfixed 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