当图像点击Android时,Creatig弹出菜单

时间:2017-08-20 21:27:16

标签: android

我在点击图片时尝试显示菜单。 这是我的full_screen_image.xml。我希望在点击@ + id / photo_menu时显示。

    <ImageView
        android:contentDescription="verter"
        android:id="@+id/photo_menu"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/ic_more_vert_black_30dp"
        android:tint="@android:color/white"
        android:layout_marginTop="6dp"
        android:layout_marginEnd="5dp"
        android:layout_alignParentEnd="true"
        android:layout_alignParentTop="true"/>
</RelativeLayout>

这是menu_photo.xml。

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+id/savePhoto"
        android:title="Kaydet" />
    <item android:id="@+id/sharePhoto"
        android:title="Paylaş" />
</menu>

这是fullScreenImageActivity.java:

package com.example.ahmetbesli.circles;

import android.content.Intent;
import android.net.Uri;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.View;
import android.widget.ImageView;

import com.bumptech.glide.Glide;

public class FullScreenImageActivity extends AppCompatActivity {
    private ImageView arrowBack;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_full_screen_image);
        arrowBack = (ImageView) findViewById(R.id.arrow_back);
        arrowBack.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {
                finish();
            }
        });
        ImageView fullScreenImageView = (ImageView) findViewById(R.id.fullScreenImageView);
        Intent callingActivityIntent = getIntent();
        if (callingActivityIntent != null) {
            Uri imageUri = callingActivityIntent.getData();
            if (imageUri != null && fullScreenImageView != null) {
                Glide.with(this)
                        .load(imageUri)
                        .into(fullScreenImageView);
            }
        }

    }
    @Override
    public boolean onCreateOptionsMenu(Menu menu){
        MenuInflater inflater = getMenuInflater();
        inflater.inflate(R.menu.menu_photo,menu);

        return true;
    }
}

我无法理解如何连接该图像和菜单。谢谢你的帮助...

1 个答案:

答案 0 :(得分:1)

为图像设置点击监听器,并在该图像视图的onclick方法中根据您的要求创建以下4个实体中的任何一个。

您的用例中有很多选项,其中有两个选项。

1.Toast(仅显示消息无点击事件)

2.SnackBar(在一段时间后自我解散,如果您希望用户通过点击操作快速响应,则更喜欢这个)

3.使用AlertDialog

4.Dialog Fragment

并且在上述两种方法(3&amp; 4)中,您可以引用单击事件的菜单项或描述您自己的对话框布局,并在这些布局中为单击事件定义按钮。

创建步骤文档:Android Dialogs

Dialog提供更多功能并保持在那里直到用户关闭它,而不像吐司那样在一段时间后解散,如果不采取任何行动。