1

我有一个文本视图,其中包含一些在 UI 中动态更改的文本,如下所示

布局:

<TableRow android:weightSum="2" >

            <ImageButton
                android:id="@+id/archive"
                android:layout_width="100dp"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="90dp"
                android:background="@drawable/archive" />

            <ImageButton
                android:id="@+id/facebook"
                android:layout_width="-200dp"
                android:layout_height="wrap_content"
                android:layout_marginRight="5dp"
                android:background="@drawable/facebook" />
        </TableRow>

        <TableRow android:layout_marginTop="2dp" >

            <TextView
                android:id="@+id/titlename1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="5dp"
                android:layout_marginTop="4dp"
                android:text="@string/nowplaying"
                android:textColor="#000000"
                android:textSize="12sp"
                android:textStyle="bold|italic" />

            <TextView
                android:id="@+id/titlename"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="5dp"
                android:layout_marginTop="4dp"
                android:layout_weight="1"
                android:ellipsize="none"
                android:gravity="right"
                android:maxEms="25"
                android:maxLines="1"
                android:scrollHorizontally="false"
                android:textColor="#000000"
                android:textSize="11dp" />
        </TableRow>

        <TableRow android:layout_marginTop="2dp" >

            <FrameLayout
                android:id="@+id/mainlayout"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent"
                android:layout_marginLeft="0dp"
                android:orientation="vertical" >

                <ImageButton
                    android:id="@+id/playbtn"
                    android:layout_width="30dp"
                    android:layout_height="30dp"
                    android:background="@drawable/play" />

                <ImageButton
                    android:id="@+id/pausebtn"
                    android:layout_width="30dp"
                    android:layout_height="30dp"
                    android:background="@drawable/pause" />
            </FrameLayout>

            <SeekBar
                android:id="@+id/seekBar1"
                android:layout_width="500dp"
                android:layout_height="wrap_content"
                android:layout_alignLeft="@+id/mainlayout"
                android:layout_marginLeft="-203dp"
                android:layout_marginRight="0dp" />
        </TableRow>

我的问题是,当我执行我的程序时,我的布局输出:

Imagebutton1     ImageButton2

NowPlaying:    SongDetails

Play/Pause      SeekBar

问题是如果我的 SongDetails 文本长度包含 2 或 3 行我的布局受到干扰?有人可以建议吗?我的要求是限制文本,例如

歌曲详细信息等......在同一行

4

5 回答 5

4

只需使用android:singleLine="true", 和android:ellipsize="end"。所以您需要将 TextView 代码更新为

<TextView
                .....
....
                android:ellipsize="end"
               android:singleLine="true" />

参考:

  1. 安卓:单行
  2. 安卓:椭圆大小
于 2013-05-16T05:48:12.210 回答
1

尝试使用

android:singleLine="true"

在你的textview

你也可以设置marquee

请注意,如果您的文本行长于屏幕大小,则此选取框将起作用。

于 2013-05-16T05:48:17.857 回答
1

尝试将 android:ellipsize 参数设置为“结束”

像这样

android:ellipsize="end"
于 2013-05-16T05:48:39.713 回答
0

如果要在最后修剪内容,请尝试将 android:ellipsize 参数设置为“结束”。

android:ellipsize="end"
于 2013-05-16T08:09:59.627 回答
-1

只需删除 wrap_content。那应该可行(最近我自己没有尝试过,但几个月前我用过)。

否则,您可以在 Java 中手动剪切文本,并在找到的第一个换行符处剪切它。

于 2013-05-16T05:49:25.933 回答