在textview中,ellipsize ="结束"和重力="中心"不正常

时间:2017-09-13 06:07:33

标签: android android-layout textview android-xml

我需要像maxline =" 2"

这样的textview

enter image description here

但是当我给它重力=" center_horizo​​ntal"和ellipsesize ="结束"它会给我这样的。第二行中的文字将隐藏

enter image description here

当我给它 gravity =" center_vertical" ellipsesize =" end" 时,它会给我更好的效果比上面一个,但我需要在中心的问候文本,以便好看。

enter image description here

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="horizontal">

            <TextView
                android:id="@+id/tv_list_music_songname"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="3"
                android:ellipsize="end"
                android:maxLines="2"
                android:gravity="center"
                android:includeFontPadding="false"
                android:padding="5dp"
                android:text="Hello ABCDEFGHIJKLMNOPQRSTUVW"
                android:textSize="15dp" />

            <TextView
                android:id="@+id/tv_list_music_songtimeduration"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:gravity="right"
                android:padding="5dp"
                android:text="ABC"
                android:textSize="15dp" />
        </LinearLayout>

3 个答案:

答案 0 :(得分:2)

尝试以下

  <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal">

    <TextView
        android:id="@+id/tv_list_music_songname"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:ellipsize="end"
        android:maxLines="2"
        android:gravity="center"
        android:includeFontPadding="false"
        android:padding="5dp"
        android:text="Hello \n ABCDEFGHIJKhhLMNOPQRSTUVW"
        android:textSize="15dp" />

    <TextView
        android:id="@+id/tv_list_music_songtimeduration"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:gravity="right"
        android:padding="5dp"
        android:text="ABC"
        android:textSize="15dp" />
</LinearLayout>

答案 1 :(得分:1)

试试这种方式

  <LinearLayout
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:weightSum="2"
              android:orientation="horizontal">

            <TextView
                android:id="@+id/tv_list_music_songname"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="0.6"
                android:ellipsize="end"
                android:maxLines="2"
                android:gravity="center"
                android:includeFontPadding="false"
                android:padding="5dp"
                android:text="Hello \n ABCDEFGHIJKLMNOPQRSTUVW"
                android:textSize="15dp" />

            <TextView
                android:id="@+id/tv_list_music_songtimeduration"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1.4"
                android:gravity="right"
                android:padding="5dp"
                android:text="ABC"
                android:textSize="15dp" />
      </LinearLayout>

答案 2 :(得分:0)

使用重力"center_vertical|center_horizontal"请尝试以下代码

android:gravity="center_vertical|center_horizontal"