对于设置TextView的字体默认大小对于UI界面的好看程度是很重要的,小屏幕设置的文字过大或者大屏幕设置的文字过小都造成UI的不美观

现在就让我们学习自适应大小的TextView控件,即当文字长度变化时,文字的大小会相应的变化,保证显示在一行当中
实现依靠于第三方类库
第三方类来源:
https://github.com/grantland/android-autofittextview
和正常的使用TextView一样,只需要将要自适应的TextView标签设置为<me.grantland.widget.AutofitTextView/>
注意:一定要设置为单行,否定无法显示效果
android:singleLine="true"
<me.grantland.widget.AutofitTextView android:id="@+id/output_autofit" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/example" android:textSize="50sp" android:gravity="center" android:singleLine="true" autofit:minTextSize="8sp" />
布局文件:
<?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:autofit="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <EditText android:id="@+id/input" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" android:hint="@string/input_hint" android:text="@string/example"/> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/label_normal" /> <TextView android:id="@+id/output" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/example" android:textSize="50sp" android:gravity="center" /> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/label_autofit" /> <me.grantland.widget.AutofitTextView android:id="@+id/output_autofit" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/example" android:textSize="50sp" android:gravity="center" android:singleLine="true" autofit:minTextSize="8sp" /> </LinearLayout> </ScrollView> activity_main.xml
string.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">Texttest</string> <string name="action_settings">Settings</string> <string name="hello_world">Hello world!</string> <string name="input_hint">text</string> <string name="label_normal">Normal:</string> <string name="label_autofit">Autofit:</string> <string name="example">This is an example</string> </resources>
activity
package com.example.texttest;
import android.app.Activity;
import android.os.Bundle;
import android.text.Editable;
import android.text.TextWatcher;
import android.view.Menu;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends Activity {
private TextView mOutput;
private TextView mAutofitOutput;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mOutput = (TextView)findViewById(R.id.output);
mAutofitOutput = (TextView)findViewById(R.id.output_autofit);
((EditText)findViewById(R.id.input)).addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) {
// do nothing
}
@Override
public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) {
mOutput.setText(charSequence);
mAutofitOutput.setText(charSequence);
}
@Override
public void afterTextChanged(Editable editable) {
// do nothing
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
MainActivity.java
效果:
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# textview自适应大小
# textview
# 文字自适应
# 4种Android屏幕自适应解决方案
# Android编程实现WebView自适应全屏方法小结
# Android编程实现屏幕自适应方向尺寸与分辨率的方法
# Android中WebView图片实现自适应的方法
# Android提高之ListView实现自适应表格的方法
# Android中让图片自适应控件的大小的方法
# Android字体大小自适应不同分辨率的解决办法
# 第三方
# 设置为
# 自适应
# 很重要
# 只需要
# 过大
# 显示效果
# 就让我们
# 类库
# textSize
# version
# utf
# string
# encoding
# text
# gravity
# sp
# minTextSize
# autofit
# center
相关文章:
如何快速生成可下载的建站源码工具?
建站之星伪静态规则如何设置?
大连网站设计制作招聘信息,大连投诉网站有哪些?
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
网站按钮制作软件,如何实现网页中按钮的自动点击?
网站制作新手教程,新手建设一个网站需要注意些什么?
网站制作难吗安全吗,做一个网站需要多久时间?
如何在七牛云存储上搭建网站并设置自定义域名?
如何通过虚拟主机快速完成网站搭建?
如何在Windows服务器上快速搭建网站?
网站专业制作公司,网站编辑是做什么的?好做吗?工作前景如何?
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
建站VPS选购需注意哪些关键参数?
香港服务器如何优化才能显著提升网站加载速度?
广州商城建站系统开发成本与周期如何控制?
如何零成本快速生成个人自助网站?
建站VPS配置与SEO优化指南:关键词排名提升策略
ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?
企业宣传片制作网站有哪些,传媒公司怎么找企业宣传片项目?
魔方云NAT建站如何实现端口转发?
宝塔建站无法访问?如何排查配置与端口问题?
红河网站制作公司,红河事业单位身份证如何上传?
网站制作免费,什么网站能看正片电影?
北京建设网站制作公司,北京古代建筑博物馆预约官网?
浅谈Javascript中的Label语句
平台云上自主建站:模板化设计与智能工具打造高效网站
,怎么用自己头像做动态表情包?
儿童网站界面设计图片,中国少年儿童教育网站-怎么去注册?
建站主机空间推荐 高性价比配置与快速部署方案解析
如何通过NAT技术实现内网高效建站?
韩国服务器如何优化跨境访问实现高效连接?
如何批量查询域名的建站时间记录?
单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?
浅析上传头像示例及其注意事项
如何快速搭建高效WAP手机网站?
如何彻底卸载建站之星软件?
郑州企业网站制作公司,郑州招聘网站有哪些?
建站之星安全性能如何?防护体系能否抵御黑客入侵?
如何通过西部建站助手安装IIS服务器?
股票网站制作软件,网上股票怎么开户?
建站之星客服服务时间及联系方式如何?
如何在新浪SAE免费搭建个人博客?
如何在建站宝盒中设置产品搜索功能?
如何通过山东自助建站平台快速注册域名?
广东专业制作网站有哪些,广东省能源集团有限公司官网?
上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?
网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?
建站VPS能否同时实现高效与安全翻墙?
如何解决VPS建站LNMP环境配置常见问题?
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
*请认真填写需求信息,我们会在24小时内与您取得联系。