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

问题描述

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

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

解决方案

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中

时间: 2024-11-01 11:16:25

android-Android 如何根据区域高度动态计算最匹配的字体大小的相关文章

安卓-android button字体大小根据宽度动态适配

问题描述 android button字体大小根据宽度动态适配 我想在屏幕上并列排6个等宽的按钮,也就是每个按钮的weight均为1,每个按钮的文字内容有长有短,并且我想让文字刚好塞满按钮(padding已经设置为0),而按钮的宽度是会随着屏幕宽度变化的,因此文字大小只能动态设置,请问怎样才能让文字大小符合要求呢? 解决方案 android字体大小多屏幕适配 解决方案二: http://blog.csdn.net/gaopeng62524/article/details/12780767 解决方

需求-关于android:我想在textview 最后动态添加图片. 应该怎么做

问题描述 关于android:我想在textview 最后动态添加图片. 应该怎么做 现在我只能把图片显示在文字的右边 Drawable drawable= context.getResources().getDrawable(R.anim.curplay_anim); drawable.setBounds(0, 0, drawable.getMinimumWidth(), drawable.getMinimumHeight()); viewHolder.textView.setCompound

android viewpager根据数组的长度动态加载布局,隐藏控件无效。

问题描述 android viewpager根据数组的长度动态加载布局,隐藏控件无效. 布局文件 android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <android.support.v4.view.ViewPager android:id="@+id/viewpag

如何改变Android tab 的高度和字体大小

原文:http://veright.blog.163.com/blog/static/2834538920101116114716651/ 这几天由于项目原因,需要调整tab 的高度和字体大小,没少折腾人..希望能对有此困扰的朋友,尽点绵薄之力..如果大家找到这里来了.算是找对地方了..哈哈哈 直接上代码,发扬分享至上的互联网精神... int count = tabWidget.getChildCount(); for (int i = 0; i < count; i++) { View vi

布局-android测量控件的高度的问题

问题描述 android测量控件的高度的问题 safe_content在布局中是高度是包裹内容 android:id="@+id/safe_content" android:layout_width="wrap_content" android:layout_height="wrap_content"> 在代码中 safe_content = (LinearLayout) view.findViewById(R.id.safe_conten

android 如何向布局指定位置动态插入view

问题描述 android 如何向布局指定位置动态插入view view是如何做到在光标处插入的? 如果用layout.addView(view child,int index),如果当前布局的所有view都是动态插入的,那这个index该怎么填? 解决方案 动态添加而且在光标之后的话,那么你选用的布局应该是RelativeLayout,可以给你新添加的view设置布局参数,实例化一个relativelayout,用参数定位你要添加的view的位置,然后调用view.setLayoutParams

携程Android App的插件化和动态加载框架

携程Android App的插件化和动态加载框架已上线半年,经历了初期的探索和持续的打磨优化,新框架和工程配置经受住了生产实践的考验.本文将详细介绍Android平台插件式开发和动态加载技术的原理和实现细节,回顾携程Android App的架构演化过程,期望我们的经验能帮助到更多的Android工程师. 需求驱动 2014年,随着业务发展需要和携程无线部门的拆分,各业务产品模块归属到各业务BU,原有携程无线App开发团队被分为基础框架.酒店.机票.火车票等多个开发团队,从此携程App的开发和发布

安卓-android 新人仿照视频写的一个计算的Demo 对比几次没问题,但是执行 报错求救

问题描述 android 新人仿照视频写的一个计算的Demo 对比几次没问题,但是执行 报错求救 Activity03.java private EditText Ac03textone; private EditText Ac03texttwo; private TextView Ac03viewone; private Button Ac03buttone; @Override protected void onCreate(Bundle savedInstanceState) { supe

Android实现类似网易新闻选项卡动态滑动效果_Android

 本文会实现一个类似网易新闻(不说网易新闻大家可能不知道大概是什么样子)点击超多选项卡,选项卡动态滑动的效果. 首先来看看布局,就是用HorizontalScrollView控件来实现滑动的效果,里面包含了一个布局. 接下来我们在onCreat方法中加载布局和构建我们需要显示的数据 <code class="hljs avrasm"> @Override protected void onCreate(Bundle savedInstanceState) { super.o