【问题标题】:get bitmap from textview in android从android中的textview获取位图
【发布时间】:2011-09-03 18:49:36
【问题描述】:

我想获取在显示 textview 但不显示 Activity 中的 textview 时绘制的位图。像这样:

TextView t = new TextView(this);
t.forceToDrawItself();
Bitmap b=t.getViewBitmap();

这怎么可能?

【问题讨论】:

    标签: android uiview bitmap draw


    【解决方案1】:

    View#draw(Canvas) 会将整个视图绘制到给定的Canvas 中。您可以使用构造函数 Canvas(Bitmap) 创建一个画布,将其绘制到给定的 Bitmap 中。

    使用Bitmap#createBitmap(int, int, Bitmap.Config) 创建所需大小的位图,将其包裹在画布中,并将其传递给视图的draw 方法。

    【讨论】:

    • ok 工作正常。现在我有一个问题,我必须手动设置视图的大小。有没有一种方法可以计算视图的默认大小?像 t.initSize(); ?
    • 查看 View 类文档的“布局”部分。 (developer.android.com/reference/android/view/View.html) 您需要使用 MeasureSpecs 调用 View#measure 来获取宽度和高度。
    • 它帮助了我。但我面临一个问题。我需要居中对齐文本。我试过 setGravity(Gravity.CENTER) 但它没有提供所需的输出。有什么建议吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-01-08
    • 2016-07-26
    • 1970-01-01
    • 2020-06-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多