Bitmap lookup = Bitmap.createBitmap(width, height, Bitmap.Config.ALPHA_8);
//
// 确保每个路径都有一个索引值
lookup.eraseColor(0xFF000000);
Canvas canvas = new Canvas(lookup);
Paint paint = new Paint();
//
paint.setAntiAlias(false);
paint.setStyle(Paint.Style.FILL);
for(int i=0;i<paths.size();i++)
{
paint.setColor(i<<24);
// 颜色的alpha值0xXX000000
canvas.drawPath(paths.get(i), paint);
}
其实呢在标准的api中是没有这个方法可以调用的,只能通过自己的算法实现
这里呢 是在画的每条线的点都作为一个索引值 然后取索引值就可以了
2.
public static void autoScaleTextViewTextToHeight(TextView tv)
{
final float initSize = tv.getTextSize();
//get the width of the view's back image (unscaled)....
float minViewHeight;
if(tv.getBackground()!=null)
{
minViewHeight = tv.getBackground().getIntrinsicHeight();
}
else
{
minViewHeight = 10f;//some min.
}
final float maxViewHeight = tv.getHeight() - (tv.getPaddingBottom()+tv.getPaddingTop())-12;// -12 just to be sure
final String s = tv.getText().toString();
//System.out.println(""+tv.getPaddingTop()+"/"+tv.getPaddingBottom());
if(minViewHeight >0 && maxViewHeight >2)
{
Rect currentBounds = new Rect();
tv.getPaint().getTextBounds(s, 0, s.length(), currentBounds);
//System.out.println(""+initSize);
//System.out.println(""+maxViewHeight);
//System.out.println(""+(currentBounds.height()));
float resultingSize = 1;
while(currentBounds.height() < maxViewHeight)
{
resultingSize ++;
tv.setTextSize(resultingSize);
tv.getPaint().getTextBounds(s, 0, s.length(), currentBounds);
//System.out.println(""+(currentBounds.height()+tv.getPaddingBottom()+tv.getPaddingTop()));
//System.out.println("Resulting: "+resultingSize);
}
if(currentBounds.height()>=maxViewHeight)
{
//just to be sure, reduce the value
tv.setTextSize(resultingSize-1);
}
}
}
以上是群里提出的解答方式 我并没有实际测 只是确实可行的
分享到:
相关推荐
例如,`AlignTextView-master`可能就是一个自定义的TextView,专门用于解决中文、英文、数字和符号的排版问题。通过重写`onDraw()`方法,可以自定义绘制逻辑,精确控制每个字符的位置。 4. **利用SpannableString**...
有时候,我们希望在TextView中展示的文本包含超链接,当用户点击这些超链接时,能够启动一个新的Activity来执行特定的操作。本篇将详细介绍如何实现TextView中的文字超链接,并在点击后启动另一个Activity的源码解析...
在Android开发中,TextView是用于显示文本的基本组件。然而,有时候我们可能需要让TextView中的文字以特定的角度旋转显示,比如垂直显示或者倾斜显示,来满足界面设计的需求。这就是"旋转TextView文字显示方向"这一...
在Android开发中,`TextView` 是一个非常常用的控件,用于显示单行或多行文本。在某些场景下,我们可能希望限制`TextView`的显示行数,并在超出时使用省略号来表示文本被截断。这就涉及到`TextView`的自动换行与截断...
当我们需要在一个TextView中展示不同字体大小和颜色的文本时,可以借助SpannableString和相关Span类来实现。下面将详细解释如何实现这个功能。 首先,了解SpannableString。SpannableString是CharSequence的一个...
在某些设计需求中,我们可能需要让TextView的文字呈现旋转状态,比如创建一个垂直显示的标题或者实现某种动态效果。本篇文章将详细探讨如何实现“旋转TextView文字显示”,并结合提供的压缩包文件`android-typeface-...
3. 使用自定义TextView:创建一个继承自TextView的自定义组件,重写onDraw方法,对绘制过程进行定制,确保中英文字符的宽度统一。这种方法需要对Android的绘图机制有较深的理解。 4. 使用第三方库:市面上有一些第...
在提供的文件“android设置TextView中文字不同的字体大小且垂直居中显示”中,可能包含了一个示例代码或详细步骤,可以帮助开发者更深入地理解这一技术。建议查看该文件以获取更多实践指导。记住,实践中学习和掌握...
在Android开发中,`TextView` 是一个非常基础且重要的组件,用于显示文本信息。当我们需要在`TextView`中展示大量文字,并希望它能自动适应屏幕大小和内容长度时,就需要用到字体自适应的技术。标题“TextView的字体...
1. 创建`TextView`:在布局文件中,我们首先创建一个`TextView`,并设置好相应的样式和属性。 ```xml <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_...
在Android开发中,TextView是用于显示文本的基本组件。在许多应用界面中,我们不仅需要展示普通的文本,还可能需要在文本中嵌入超链接,改变部分文字的颜色或字体,以增强用户交互和信息传递的效果。这篇博文将深入...
它允许我们在一个方向上定义多个颜色点,系统会自动将这些颜色平滑地过渡到一起,形成渐变效果。创建`LinearGradient`时,需要指定起始坐标、结束坐标以及颜色数组和位置数组。 ```java LinearGradient gradient = ...
在这个版本的自定义TextView中,我们首先检查是否需要截断最后一个单词,如果需要,就在其后面添加省略号。然后,我们在`onDraw()`方法中设置新的文本内容,确保在绘制时显示正确的格式。 最后,在布局XML文件中...
在Android开发中,`TextView`是用于展示文本的常用组件,它可以进行丰富的文本格式化和交互操作。在一些场景下,我们可能需要对`TextView`中的特定部分文字进行颜色变化,甚至为这部分文字添加点击事件,以实现更...
在压缩包文件`SpecialTextView`中,可能包含了一个已经实现了这个功能的自定义`TextView`类,我们可以研究其源代码,学习如何根据需求定制控件的行为,以满足特定的文本颜色处理需求。 总的来说,对`TextView`中...
在Android开发中,`TextView`是用于展示文本的常用组件,它在用户界面设计中扮演着重要角色。在某些场景下,我们希望`TextView`能够根据文本内容的多少自动调整字体大小,以便文本能完全适应控件的宽度,避免换行...
在Android开发中,TextView是用于显示单行或多行文本的视图组件,它是我们界面设计中不可或缺的一部分。然而,有时我们可能需要在文字中插入图片,以实现更丰富的展示效果。例如,在显示用户头像、表情符号或者特殊...
下面是一个具体的示例,展示如何在TextView中同时添加删除线和下划线效果: ```java // 获取TextView TextView textView = (TextView) findViewById(R.id.text_view); // 设置删除线 textView.getPaint().setFlags...
然而,有时开发者会遇到一个棘手的问题,即`TextView`中的换行文字可能不会对齐,尤其是在多行显示时。这个问题通常表现为每一行的起始位置不一致,影响了整体布局的美观度。本文将深入探讨这个问题及其解决方案。 ...
当文本和图片同时存在时,实现它们在TextView中的居中对齐是一项常见的需求。本文将深入探讨如何在Android中实现TextView的图片和文字居中。 首先,我们需要理解TextView的基本属性。`android:gravity`属性用于设置...