0

When I try to set TextView's left and right property, the ellipsize property doesn't work. It just clips the object.

I am setting the left and right like this:

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

It has already applied ellipsize property. But, it doesn't work.

I can see the bounds are clipped:

enter image description here

UPDATE: It's a toolbar's default title textview. I am accessing it with reflection.

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

val textView: TextView? = field.get(toolbar) as TextView?
kirtan403
  • 7,293
  • 6
  • 54
  • 97

1 Answers1

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>
Ricky Patel
  • 465
  • 2
  • 12
  • Nop, I can't use this. This doesn't work well when I need to inflate menus. That's why I am trying to manipulate the field – kirtan403 Dec 15 '17 at 07:05