2017-08-20 15 views
0

イメージをクリックしたときにメニューを表示しようとしています。 これは私の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

クリックリスナを画像に設定し、その画像ビューのonclickメソッドで、あなたの要件に基づいて以下の4つのエンティティを作成します。

ユースケースには2つのオプションがあります。

1.Toast(メッセージのみなしクリックイベントを示していない)

2.SnackBar(ユーザーがいくつかのクリック操作で迅速に対応したい場合は、これを好む、いくつかの時間後に自分自身を閉じる)

3.Using AlertDialog

4.Dialog断片

し、クリックイベントのためにあなたのメニュー項目を参照するか、ダイアログボックスのために独自のレイアウトを記述し、中のボタンを定義することができます(3 & 4)上記の方法の両方で

クリックイベントのレイアウト。

作成手順のドキュメントは:Android Dialogs

ダイアログは、より多くの機能を提供し、ユーザーが何もアクションがとられない場合は、いくつかの時間後に解任トーストとは違って、それを閉じてまでそこに留まります。

関連する問題