【问题标题】:add a bitmap to a view in Android将位图添加到 Android 中的视图
【发布时间】:2012-01-28 13:52:24
【问题描述】:

我有一个 vew,收到: (ImageView) findViewById(R.id.photo)

该视图当前有一个位图。我想在角落添加另一个位图。位图由 v.getDrawingCache() 从我当前所在的侦听器中检索。现在我有一个代码可以完全替换“照片”视图中的图像:

 OnClickListener mImageListener = new OnClickListener() {
        public void onClick(View v) {
            v.buildDrawingCache();
            ((ImageView) findViewById(R.id.photo)).setImageBitmap(v.getDrawingCache()); 
        }
    };

有谁知道如何添加图片? Draw Bitmap When Still Using XML View上的答案 由于某种原因并没有真正为我工作:( 注意:我添加的位图稍后将使用 MoveListener 或其他东西移动。以防万一这很重要...

【问题讨论】:

  • 角落里添加了什么?你能再解释一下吗?
  • 基本上只是将它添加到某处,这样我就可以在另一张图像的顶部看到它。稍后我会移动它。我最初将它放在哪里并不重要

标签: android view bitmap imageview


【解决方案1】:

我决定使用 SimView 而不是 ImageView,它解决了所有问题。感谢您的帮助!

【讨论】:

  • 你确定你找到了 SimView 这个词吗?
【解决方案2】:

您只能将一个bitmap 关联到一个ImageView,这是一对一的映射。

如果您想在现有图像之上叠加另一张图片,那么您需要将它们都放在FrameLayout 中。

此外,如果较小的位图位于不同的ImageView 中,作为两个不同的 UI 元素,您以后可以更轻松地移动它。

示例伪 xml

<RelativeLayout fill parent>
    <FrameLayout fill parent>
         <ImageView center in parent>
         <ImageView align bottom right = true>
    </FrameLayout>
</RelativeLayout>

【讨论】:

  • 你确定吗?我见过带有多个位图的视图示例,不同之处在于创建视图时所有位图都在画布上,我想在创建视图后绘制它们。我认为这应该使用画布或其他东西来完成。另外,我需要添加一些位图,而不仅仅是一个 - 这个选项会覆盖吗?谢谢!!
  • 自己在画布上绘图是完全不同的,是的,您可以在单个画布上绘制多个位图(实际上您可以绘制任何您想要的东西)但关键是您负责绘制它。但是,如果您将它与ImageView 相关联,您就不必担心绘制任何内容。移动视图也很简单,捕捉触摸事件,获取x和y值,设置图像视图的顶部和左侧就完成了。
猜你喜欢
  • 1970-01-01
  • 2011-09-07
  • 1970-01-01
  • 2023-03-27
  • 2012-07-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-09
相关资源
最近更新 更多