设置TextView的左右不适用于ellipsize

时间:2017-12-15 06:43:35

标签: android android-layout layout textview

当我尝试设置TextView的leftright属性时,ellipsize属性不起作用。它只是剪辑对象。

我这样设置左右:

 textView.left = textMargin
 textView.right = Math.min(view.measuredWidth - textMargin, margin)

它已经应用了ellipsize属性。但是,它不起作用。

我可以看到边界被剪裁:

enter image description here

更新:这是工具栏的默认标题textview。我正在用反射访问它。

val field = Toolbar::class.java.getDeclaredField("mTitleTextView")
field.isAccessible = true

val textView: TextView? = field.get(toolbar) as TextView?

1 个答案:

答案 0 :(得分:0)

    <?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/toolbar_app"
    android:layout_width="fill_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@color/colorPrimary"
    app:contentInsetEnd="0dp"
    app:contentInsetLeft="0dp"
    app:contentInsetRight="0dp"
    app:contentInsetStart="0dp">
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center|center_horizontal"
        android:orientation="horizontal">
        <ImageView
            android:id="@+id/iv_first"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:src="@mipmap/ic_launcher"
            android:visibility="visible" />
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:layout_marginTop="3dp"
            android:layout_toLeftOf="@+id/iv_search_second"
            android:layout_toRightOf="@+id/iv_first"
            android:ellipsize="end"
            android:gravity="center"
            android:lines="1"
            android:text="text Status carfsadffaf"
            android:textColor="@android:color/white"
            android:textSize="16sp" />
        <ImageView
            android:id="@+id/iv_search_second"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toLeftOf="@+id/iv_search_first"
            android:src="@mipmap/ic_launcher"
            android:visibility="visible" />
        <ImageView
            android:id="@+id/iv_search_first"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_marginRight="10dp"
            android:src="@mipmap/ic_launcher"
            android:visibility="visible" />
    </RelativeLayout>
</android.support.v7.widget.Toolbar>