android:TextSize问题
来源:互联网 发布:燕大图书馆网络 编辑:程序博客网 时间:2024/06/05 07:23
今天写了个外部类监听器改变字体大小但是无论如何当点击缩小按钮时字体都反而变大:
package jxufe.penglong.edittest;
import android.util.TypedValue;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
public class OutterListener implements OnClickListener {
private TextView text;
private float size=12;
public OutterListener(TextView textView){
this.text=textView;
}
public void onClick(View v) {
size=text.getTextSize();
switch (v.getId()) {
case R.id.bigger:
size+=4;
break;
case R.id.smaller:
size=size-4;
break;
default:
break;
}
if(size>=72){
size=72;
}
if(size<=4){
size=4;
}
text.setTextSize(TypedValue.COMPLEX_UNIT_PX, size);
System.out.println(text.getTextSize());
}
}
检查代码逻辑没有问题,只能打印点击后字体大小跟踪下,发现字体无规律增大,自然而然想到是不是减小的值太小了,然后我设置每次减小值大于字体大小的一半,情况还是如此;
后来只有查找android帮助文档:发现setTextSize有两个方法, 分别为:
后来只有查找android帮助文档:发现setTextSize有两个方法, 分别为:
public void setTextSize (float size)
Added in API level 1
Set the default text size to the given value, interpreted as "scaled pixel" units. This size is adjusted based on the current density and user font size preference.
public void setTextSize (int unit, float size)
Added in API level 1
Set the default text size to a given unit and value. See TypedValue
for the possible dimension units.
Related XML Attributes
另一种方法可以带一个参数设置单位:
关键在于:发现getTextSize返回值是以像素(px)为单位的,而setTextSize()是以sp为单位的
所以我们要改变单位
0 0
- android:TextSize问题
- Android TextView TextSize适配问题
- android layout / android textsize
- textview高度问题 textsize height
- Android中button自适应textsize
- Android中button自适应textsize
- android 解决百分比布局适配时Textview的字体Textsize比例缩放问题
- php_pdo_mssql字段限制(textsize)的问题
- Android-TextSize(px、sp)的坑
- Android TextView 属性 textsize 的单位是什么?
- 解决安卓TextView高度和textSize大小不一致问题
- 解决安卓TextView高度和textSize大小不一致问题
- android:textSize="20dp" 中20dp是什么意思?
- 'SET TEXTSIZE '
- textSize 设置
- 解决安卓TextView高度和textSize大小不一致问题 - 木杉是天才
- 自定义View,解决百分比布局适配时Textview的字体Textsize比例缩放问题
- php 读取sqlserver 2008 image类型(二进制)字段被截断问题(mssql.textsize)
- usb驱动开发知识
- 关闭Linux(Centos 7.0)蜂鸣器
- java.lang.NoSuchFieldError: DEF_CONTENT_CHARSET
- opencv hello.obj : error LNK2001: unresolved external symbol _cvNamedWindow
- Java 的静态代理和动态代理
- android:TextSize问题
- 硬盘基本知识:物理构造和逻辑单元
- Unity 各级别 技术面试
- JavaScript数据结构深度剖析
- TextView的内部链接支持长按
- DevExpress中的lookupedit的使用方法详解
- 浅谈NGUI中的淡入淡出效果
- flexPaper一直加载不能够显示swf文件
- JAVA基础题