文本对齐和切割如果太长

时间:2016-01-23 15:46:49

标签: java android xml

我正在创建一个应用程序,我希望文本在按钮下对齐,它看起来像这样: enter image description here

所以我想在按钮下面的(5dp)左边开始输入大文本,然后在按钮结束处(从左边155dp)结束。如果文本太长而无法放在按钮下面,我不希望它进入下一行,我希望它剪切并在最后输入“..”,这样看起来就像这个f.e. “大T ..”,我拍照的照片很快就能告诉你我的意思:

enter image description here

我对xml和整个ndroid应用程序场景都不熟悉,所以任何帮助都表示赞赏:)

2 个答案:

答案 0 :(得分:1)

LinearLayoutslayout_wight一起使用。示例代码如下:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" 
android:layout_width="match_parent"
android:layout_height="match_parent">

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

    <ImageView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:src="@android:drawable/ic_menu_save"/>

    <ImageView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:src="@android:drawable/ic_menu_save"/>

    <ImageView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:src="@android:drawable/ic_menu_save"/>


</LinearLayout>

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="5dp"
    android:layout_marginRight="5dp"
    android:orientation="horizontal">

    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:singleLine="true"
        android:text="LOOOOOOOOOOOOOOOOOOOOONG"/>

    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:singleLine="true"
        android:text="LOOOOOOOOOOOOOOOOOOOOONG"/>

    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:singleLine="true"
        android:text="LOOOOOOOOOOOOOOOOOOOOONG"/>


</LinearLayout>

结果将是:

enter image description here

答案 1 :(得分:1)

在TextView中添加以下属性:

android:ellipsize="end"
android:maxEms="8"
android:singleLine="true"

注意:您可以将ems大小调整为您想要显示的字符数。