oicuivu 2015-12-03 03:01 采纳率: 11.1%
浏览 2954

Android 如何根据区域高度动态计算最匹配的字体大小

Android 如何根据区域高度动态计算最匹配的字体大小;最近项目遇到一个需求,给一个已知宽高的区域,在这个区域中绘制文本信息,需要根据区域高度计算字体大小以达到文字的高度刚好是区域的高度。自己找了一些资料,基本都是根据文本内容计算高度的,反过来则没有。

  • 写回答

1条回答 默认 最新

  • 轻风流云穗 2015-12-03 03:01
    关注

    1、动态设置TextView的width
    如果在xml中使用TextView,并且设置了textSize属性,若想在Java代码中动态的设置TextView的长度,
    而不是在xml直接写死TextView的Width属性,可以通过TextView的getPaint()获得TextPaint对象,通过这
    个TextPaint对象我们就可以获取到当前TextView设置的text的size, 这时如果想控制TextView中放置的text
    的字数,就可以通过重新设置TextView的width属性来实现。
    例如:
    int textSize = (int)pushNewsText.getPaint().getTextSize(); //获得当前textView的text size大小

    2、Java代码中动态添加子view到RelativeLayout布局中:
    LayoutParams childParams = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
    ImageView firstView = new ImageView(context);
    firstView.setId(zhangView.getId() + 1);
    childParams .addRule(RelativeLayout.CENTER_VERTICAL);
    childParams .addRule(RelativeLayout.LEFT_OF, targetView.getId()); //设置firstView位于targetView的左侧
    childParams .rightMargin = 10;
    firstView.setLayoutParams(childParams );
    parentView.addView(firstView); //添加到父View中

    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题