固定Textview,字体随着字数的多少字体动态变化大小

Android输入框文字大小随长度变化 输入框文字大小随长度变化 Edittext 和 TextView 文字大小随长度变化而变化 自定义输入框和文本框 立即下载
package de.ankri.views;

import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.util.TypedValue;
import android.widget.TextView;
import de.ankri.R;

/**
 * A custom Text View that lowers the text size when the text is to big for the TextView. Modified version of one found on stackoverflow
 * 
 * @author Andreas Krings - www.ankri.de
 * @version 1.0
 * 
 */
public class AutoScaleTextView extends TextView
{
	private Paint textPaint;

	private float preferredTextSize;
	private float minTextSize;

	public AutoScaleTextView(Context context)
	{
		this(context, null);
	}

	public AutoScaleTextView(Context context, AttributeSet attrs)
	{
		this(context, attrs, R.attr.autoScaleTextViewStyle);

		// Use this constructor, if you do not want use the default style
		// super(context, attrs);
	}

	public AutoScaleTextView(Context context, AttributeSet attrs, int defStyle)
	{
		super(context, attrs, defStyle);

		this.textPaint = new Paint();

		TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.AutoScaleTextView, defStyle, 0);
		this.minTextSize = a.getDimension(R.styleable.AutoScaleTextView_minTextSize, 10f);
		a.recycle();

		this.preferredTextSize = this.getTextSize();
	}

	/**
	 * Set the minimum text size for this view
	 * 
	 * @param minTextSize
	 *            The minimum text size
	 */
	public void setMinTextSize(float minTextSize)
	{
		this.minTextSize = minTextSize;
	}

	/**
	 * Resize the text so that it fits
	 * 
	 * @param text
	 *            The text. Neither <code>null</code> nor empty.
	 * @param textWidth
	 *            The width of the TextView. > 0
	 */
	private void refitText(String text, int textWidth)
	{
		if (textWidth <= 0 || text == null || text.length() == 0)
			return;

		// the width
		int targetWidth = textWidth - this.getPaddingLeft() - this.getPaddingRight();

		final float threshold = 0.5f; // How close we have to be

		this.textPaint.set(this.getPaint());

		while ((this.preferredTextSize - this.minTextSize) > threshold)
		{
			float size = (this.preferredTextSize + this.minTextSize) / 2;
			this.textPaint.setTextSize(size);
			if (this.textPaint.measureText(text) >= targetWidth)
				this.preferredTextSize = size; // too big
			else
				this.minTextSize = size; // too small
		}
		// Use min size so that we undershoot rather than overshoot
		this.setTextSize(TypedValue.COMPLEX_UNIT_PX, this.minTextSize);
	}

	@Override
	protected void onTextChanged(final CharSequence text, final int start, final int before, final int after)
	{
		this.refitText(text.toString(), this.getWidth());
	}

	@Override
	protected void onSizeChanged(int width, int height, int oldwidth, int oldheight)
	{
		if (width != oldwidth)
			this.refitText(this.getText().toString(), width);
	}

}
访问更多请点击https://bitbucket.org/ankri/autoscaletextview/src/fd5625ceb37b5cf18b8bf1e0c3c20dca569de80d/src/de/ankri/views/?at=default 点击打开链接

PCB线路板的制作工艺流程分享!2021-08-21 Pcb板制作工艺流程:开料-钻孔-沉铜-压膜-曝光-显影-电铜-电锡-退膜-蚀刻-退锡-光学检测-印阻焊油-阻焊曝光、显影-字符-表面处理-成型-电测-终检-抽测-包装。具体如下:1、开料(CUT) 将原始的覆铜板切割成可以用在生产线上制作的板子过程2、钻孔 使PCB板层间产生通孔,以达到连通层间的目的。 3、沉铜 经过钻孔后的线路板在沉铜缸内会发生氧化还原反应,形成铜层对孔进行孔金属化,使原来绝缘的基材表面沉积上铜,达到层间电性相通。 4、压膜 压膜后的PCB板上面压了一层蓝色的干膜, 干膜是一个载体 阅读详情

相关推荐

ESP32实战:破解校园网WPA2-Enterprise认证的完整指南

本文详细介绍了如何使用ESP32开发板破解校园网WPA2-Enterprise认证的完整指南。通过硬件准备、环境搭建、核心代码实现及常见问题排查,帮助开发者解决企业级WiFi连接难题,特别适用于校园网环境下的物联网设备开发。

weixin_29194817的博客 454

自动调整TextView字体大小以适应文…

效果是 当字数少的时候 字体最大,随着字数的增多字体逐渐减小。  Java代码  0) { int availableWidth = textWidth - this.getPaddingLeft() - this.getPaddingRight(); float trySize = maxTextSize; testPaint.setTextSize(trySize); while ((

257

电磁仿真软件CST2020 下载链接及安装破·解教程笔记

众所周知,配环境是安装软件最头疼的事情。CST2020我调了一上午,网上现有的安装教程良莠不齐,很难有一篇文章能够全流程的讲述安装过程以及遇到的问题。正好今天我要给另一台电脑装软件,借此机会把安装过程记录下来,以供将来使用和他人借鉴。 首先提供下载地址: 百度网盘 链接:https://pan.baidu.com/s/1cDJZelufj-nliUfekMNpEA 提取码:8ihx 附: 根据二○○二年一月一日《计算机软件保护条例》规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软

weixin_42845306的博客 3万+

短视频商城系统,Android TextView自动调整字体大小

短视频商城系统,Android TextView自动调整字体大小 1、自动缩放(当字少时放大,字多时缩小) 2、缩放范围(设置最大、最小和缩放粒度) 3、预设大小清单(1)添加预设清单(res/values/attrs.xml ) (2)使用预设清单 以上就是 短视频商城系统,Android TextView自动调整字体大小,更多内容欢迎关注之后的文章...

云豹网络科技 557

5060TI显卡深度学习环境搭建:CUDA12.8与CUDNN9.8.0的完美搭配

本文详细介绍了在Win10系统下为5060TI显卡搭建深度学习环境的最佳实践,重点配置CUDA12.8与CUDNN9.8.0的完美组合。通过优化OpenCV编译选项和YOLOv5环境设置,显著提升模型训练和推理效率,帮助开发者充分发挥5060TI显卡的性能潜力。

weixin_29065791的博客 488

TC8:IPv4_HEADER_05-09

所有主机都必须准备好接受最多576个字节的数据报我们知道最大传输单元MTU通常是1500个字节,也就是说一条IP数据报的Header+payload最大1500,那为什么这条测试用例又要求主机准备好接受最多576个字节的IP数据报呢。

jasonj333 512

【Android】TextView字体大小自适应的方式

众所周知,同样的一个话在中英文环境中的字符长度是不一样的。如果TextView没有做相应的适配,那么在切换环境之后读取xml中文本会导致UI变样。尤其是英文文本容易展示不全的问题。

weixin_44002043的博客 4039

华为HCIP的学习大纲和计划

HCIP(华为认证 ICT 高级工程师)核心围绕华为 ICT 技术体系,不同方向(如路由交换、云计算、安全等)课程目录不同,以下是最热门的。

迷逝 575

android开发 textview根据字数长度自动调整字体大小

import com.carspeak.client.util.DensityUtils; import android.content.Context; import android.graphics.Paint; import android.graphics.Paint.FontMetrics; import android.util.AttributeSet; import andro...

虫逗蚊子的博客 2950

安全与加密常识(10)linux系统证书管理

1. 将自定义CA证书(如my-ca.crt)放到源目录# 2. 编辑配置文件,启用该证书(末尾添加一行 my-ca.crt)# 3. 执行命令同步(核心工作环节)# 4. 验证结果:检查是否生成哈希链接和合并到证书束ls /etc/ssl/certs/my-ca.pem # 证书文件ls /etc/ssl/certs/$(openssl x509 -hash -noout -in /usr/share/ca-certificates/my-ca.crt).0 # 哈希链接。

二进制君 285

Claude桌面端安装失败?Retrying无限重试终极解决方案(亲测有效)

Claude桌面端安装卡在Retrying并非网络问题,而是安装器下载源异常导致。本文提供已验证方案:一条命令即可解决问题🚀

XiaoqiangClub的博客 2340

textview固定宽度,自动调整字体大小

fun setTextAutoSize(textView: TextView, text: String) { //设置textView固定宽度 val layoutParams = textView.layoutParams layoutParams.width = TypedValue.applyDimension( TypedValue.COMPLEX_UNIT_DIP, 30f, .

Chents 909

基于深度学习的人脸识别考勤管理系统,采用YOLOv11和Dlib算法实现人脸识别和考勤签到,前台人脸识别和签到系统 + 后台人脸和考勤管理系统,全网独发

基于深度学习的口罩人脸识别的考勤管理系统,采用YOLOv11和Dlib算法实现人脸识别和考勤签到,前台人脸识别和签到系统 + 后台人脸和考勤管理系统,全网独发

在职AI算法工程师,擅长计算机视觉,YOLO目标检测、分割等,擅长web、pyqt界面可视化,好内容持续更新中,来这里跟大家一起学习,共同进步 1825

安卓怎么显示res文件夹中的html_Android TextView如何显示html样式的文字

项目需求:TextView显示一段文字,格式为:白雪公主(姓名,字数不确定)向您发来了2(消息个数,不确定)条消息这段文字中名字和数字的长度是不确定的,还要求名字和数字各自有各自的颜色。一开始我想的是用SpannableString与SpannableStringBuilder来实现,因为它可以实现一段文字显示不同的颜色,但是貌似它只能固定哪些位置的文字显示什么样式,于是乎放弃。然后就想到了用Ja...

weixin_39743603的博客 179

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

如何让Android TextView(包括子类)的字体大小随着字数的增加而变化,以显示全部内容

在使用TextView的时候,很多情况下内容的长度是要变化的,字数多了,可能不能显示全部的内容,那如何让TextView在字数超了的时候,能自动缩小字体,或者直接匹配最优的字体大小,使内容全屏并全部显示 代码如下: protected void autoMatchFont(final TextView view){ view.addOnLayoutChangeListener(

Android&前端 3299

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

TextView自动调节字体大小

前言:从Android8.0开始TextView支持自动调节字体大小,使其缩放至填满TextView,由于api26才开始支持该特性,我们采用com.android.support:appcompat-v7:26.0.0及以上的支持包即可支持api14以上。(即如下采用app:autoSizeTextType而非android:autoSizeTextType) 1、自动缩放(当文字少时放大,文字多时缩小至填满水平或垂直方向) <TextView android:layout_w

yufumatou的博客 4560

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

textview根据文字行数自动变化大小

http://www.cocoachina.com/ios/20150126/11023.html 转载于:https://www.cnblogs.com/angongIT/p/4395451.html

weixin_30802171的博客 260

[转帖]自动调整TextView字体大小以适应文字长度

抱歉,具体出处忘记了 :oops: [code="java"] package com.test.android.textview; import android.content.Context; import android.graphics.Paint; import android.util.AttributeSet; import android.widget.Tex...

DaiLM的专栏 247

设置Textview最大长度,超出显示省略号

<TextView android:id="@+id/tvUserNameUgcListItem" android:layout_height="@dimen/dp45" android:layout_width="wrap_content" android:text="云

沐怡旸的专栏 2万+

小程序实现textarea随输入的文字行数变化高度自动增加

参考链接:https://blog.youkuaiyun.com/liuwengai/article/details/78987957 该实现方法是根据上面的链接改编为小程序的实现,代码如下: wxml: &lt;view class="text-box"&gt; &lt;text&gt;{{currentInput}}&lt;/text&gt; &lt;textarea class...

weixin_34375251的博客 5109

TextView文字自适应

TextView文字自适应

延龙的博客 752

Android TextView Autosizing 字号自动调整大小,字号自适应

什么是Autosizeng呢,简单说就是TextView文本内容的字号大小是会根据内容多少而变大或者变小以适应布局,尽可能让TextView显示所有的文本内容。 比如TextView控件的宽高是固定的,在内容越少的情况下,为了内容填充整个控件,字号就会变大,在内容越多的情况下,为了显示更多的内容,字号就会缩小。如下图所示: 在Android 8.0(API级别26)及更高版本中,可以直接使用Au...

野猿新一 9352

Android TextView字符串太长进行截取,以省略号代替

有时候我们会遇到这样的问题,一个大字符串写到TextView里面,根本写不下,但是该字符串并不是固定的,所以我们不知道需要定多长的TextView 所以对于过长的字符串我们最后以省略号代替。如下所示: TextView只显示一行,并且对于超出TextView宽度的部分以省略号结束。                    android:layout_height="wrap_conten

缎锦小妹的专栏 5379
上一篇: Android 访问网络图片
下一篇: Android加载Bitmap之OOM的解决办法
Warkey_Song
博客等级 码龄14年 3粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值