小编sng*_*eco的帖子

如何防止加载PNG的ImageView的透明部分上的onClick方法

我目前正在开发一个Android应用程序,它可以显示多个图像(如ImageView's)堆叠在一起.以下是当前配置图层的方式:

  • 背景图层:缩放整个屏幕,必须是可点击的
  • 前景层:缩放整个屏幕,必须是可点击的,包含透明度,允许用户看到一些背景图层

我面临的问题是前景层.我正在将该onClick()方法分配给imageview,但是调用该方法是否它们是否可以看到可见的图像部分以及包含透明度的部分.我只希望在onClick()用户单击该图像视图的一部分不透明时调用前景ImageView 方法.

这是场景的样子:

在此输入图像描述

对角线表示前景图像的透明部分.如果用户触摸此空间,我希望它访问背景图像而不是前景图像.感谢您提供的任何帮助.

这是我实施的解决方案(感谢下面的回答):

//ontouchlistener - gets X and Y from event
private void setClick(View view)
{
    view.setOnTouchListener(new View.OnTouchListener() 
    {
        public boolean onTouch(View v, MotionEvent event) 
        {
            int imageId = getImageId((int)event.getX(), (int)event.getY());
            if (imageId >= 0)
                performActions(imageId);
            return false;
        }
    });
}

//get the ID of the first imageview (starting from foreground, 
//working backwards) which contains a non-transparent pixel
private int getImageId(int x, int y)
{
    ViewGroup parent = (ViewGroup) …
Run Code Online (Sandbox Code Playgroud)

android onclick imageview

14
推荐指数
1
解决办法
6306
查看次数

Android位图内存问题 - 错误:8294416字节分配时内存不足

我目前正在开发一个讲述故事的应用程序.故事包含"场景",其中包含通过ImageViews显示的多个JPEG和PNG文件.我创建了ImageView并通过以下函数将其添加到布局中:

private ImageView newImage(Show show)
{
    ImageView iv = new ImageView(this);
    String filePath = comin.generateFilePath(show);
    Log.i(TAG, "newImage, filePath = " + filePath + " id = " + show.id);
    WeakReference<Bitmap> bmp = new WeakReference<Bitmap>(scaleBitmap(filePath)); //added 4/1/13
    //Bitmap bmp = scaleBitmap(filePath);
    Log.i(TAG, "newImage, width = " + bmp.get().getWidth() + ", height = " + bmp.get().getHeight());
    iv.setImageBitmap(bmp.get());
    iv.setScaleType(ImageView.ScaleType.FIT_XY);
    iv.setId(show.id);

    //set visibility
    if (show.visible)
        iv.setVisibility(View.VISIBLE);
    else
        iv.setVisibility(View.INVISIBLE);

    //set dimensions
    int width = (app.getWidth() * show.dimX) / 100;
    int height = (app.getHeight() * show.dimY) …
Run Code Online (Sandbox Code Playgroud)

heap android bitmap out-of-memory imageview

11
推荐指数
1
解决办法
6427
查看次数

标签 统计

android ×2

imageview ×2

bitmap ×1

heap ×1

onclick ×1

out-of-memory ×1