在Android Studio中悬停/触摸时在图像上显示内容

时间:2016-12-27 00:11:00

标签: java android imageview hover drawbitmap

我在我的布局中放置了一些圆形图像,我希望在用户将鼠标悬停在其上或触摸图像时显示内容。我试图在谷歌搜索,但我发现这个主题没什么用处。

我希望在用户悬停时显示(即在test1图像上)一个小窗口(,如弹出窗口),其中包含一些文本和一个或两个按钮图像。

可以在Android中执行此操作吗?

编辑:这是我想要实现的结果。 例如,在这种情况下,当用户悬停或触摸图像时,会出现一个弹出窗口并显示添加选项。

enter image description here

        // Draw circles
    canvas.drawCircle((canvas.getWidth()/2)-300, canvas.getHeight()/2,60,paint);
    canvas.drawCircle((canvas.getWidth()/2), (canvas.getHeight()/2)-300,60,paint);
    canvas.drawCircle((canvas.getWidth()/2)+300, (canvas.getHeight()/2),60,paint);

    // load bitmap..
    Bitmap test = BitmapFactory.decodeResource(this.getResources(), R.drawable.img1);
    Bitmap test1 = MLRoundedImageView.getCroppedBitmap(test, 160);
    canvas.drawBitmap(test1, 468, 525, paint);

1 个答案:

答案 0 :(得分:1)

这不是确切的解决方案,但我认为popupmenu适用于此

PopupMenu popup = new PopupMenu(context, view_anchor);
popup.inflate(R.menu.your_menu);
popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
                        @Override
                        public boolean onMenuItemClick(MenuItem item) {
                            switch (item.getItemId()) {
                                case R.id.button1:
                                    //code when button1 is clicked
                                    popup.dismiss();
                                    break;
                                case R.id.button2:
                                    //code when button2 is clicked
                                    popup.dismiss();
                                    break;
                            }
                            return false;
                        }
                    });
popup.show();

将上面的代码放在你的图片onclicklistener

将onclicklistener放在你的图片中放这个

ImageView image1, image2;

in oncreate
image1 = (ImageView) findViewById(R.id.id_of_image1);
image1.setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            //popup code
                        }
                    });

然后在xml中为你的imageview添加了一个id

<ImageView
android:id="@+id/id_of_image1"
/>