TextView系列:给定宽度,根据内容长度,自动改变字体大小
Posted zhangjin1120
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TextView系列:给定宽度,根据内容长度,自动改变字体大小相关的知识,希望对你有一定的参考价值。
上效果图:
在同样宽度200dp
下,内容不同,字体大小不同。
implementation 'me.grantland:autofittextview:0.2.1'
- 必须设置几个属性才有效:
android:singleLine="true"
android:maxLines="1"
android:gravity="center"
- 完整布局代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/tv1"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:text="Hello World!"
android:singleLine="true"
android:maxLines="1"
android:layout_centerInParent="true"
/>
<me.grantland.widget.AutofitTextView
android:id="@+id/ftv1"
android:layout_below="@id/tv1"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:singleLine="true"
android:maxLines="1"
android:textSize="40sp"
android:gravity="center"
android:text="Hello World!"
android:background="#ff0000"
/>
<me.grantland.widget.AutofitTextView
android:id="@+id/ftv2"
android:layout_below="@id/ftv1"
android:layout_width="120dp"
android:background="#00ff00"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:singleLine="true"
android:maxLines="1"
android:textSize="40sp"
android:gravity="center"
android:text="Hello Thanks every one"
/>
<me.grantland.widget.AutofitTextView
android:id="@+id/ftv3"
android:layout_below="@id/ftv2"
android:layout_width="120dp"
android:background="#0000ff"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:singleLine="true"
android:maxLines="1"
android:gravity="center"
android:text="Hello mom"
/>
</RelativeLayout>
以上是关于TextView系列:给定宽度,根据内容长度,自动改变字体大小的主要内容,如果未能解决你的问题,请参考以下文章