setTextSize不适用于Android中的AutofitTextView

时间:2017-03-30 13:28:45

标签: java android textview

我使用<me.grantland.widget.AutofitTextView android:id="@+id/header" android:text="Select Item" android:layout_width="match_parent" android:layout_height="wrap_content" android:maxLines="1" android:textSize="85sp" autofit:minTextSize="16sp" autofit:sizeToFit="true" android:gravity="center" android:background="#fa0" android:textColor="@color/grey" /> 并且无法在运行时更改文字大小。我的XML:

 AutofitTextView header = (AutofitTextView) findViewById(R.id.header);
 header.setTextSize(TypedValue.COMPLEX_UNIT_SP, 25);

我的代码:

TextView

当我将XML标记更改为AutofitTextView时,代码可以正常工作,但我还需要它与$avatar_link = bp_core_fetch_avatar(array('html' => false, 'item_id' => $user_id)); $avatar = '<img title="admin" src="' . $avatar_link . '"></img>'; // Display image echo $avatar 一起使用。有什么想法吗?

2 个答案:

答案 0 :(得分:1)

您可以使用

固定尺寸​​[无自动]

header.setMinTextSize(TypedValue.COMPLEX_UNIT_SP,25);
header.setMaxTextSize(TypedValue.COMPLEX_UNIT_SP,25);

对于自动[范围将介于16到25之间]

header.setMinTextSize(TypedValue.COMPLEX_UNIT_SP,16);
header.setMaxTextSize(TypedValue.COMPLEX_UNIT_SP,25);

答案 1 :(得分:0)

您必须使用AutofitHelper在运行时设置textize,如下所示:

// when resizing textview
header.setTextSize(TypedValue.COMPLEX_UNIT_SP, 25)
AutofitHelper autofitHelper = AutofitHelper.create(header);
autofitHelper.setTextSize(header.getTextSize());

我希望它可以帮到你