Android中實(shí)現(xiàn)長(zhǎng)按照片彈出右鍵菜單功能的實(shí)例代碼
場(chǎng)景效果

注:
實(shí)現(xiàn)
將布局改為L(zhǎng)inearLayout,并通過(guò)android:orientation="vertical">設(shè)置為垂直布局。
然后添加一個(gè)ImageView,并設(shè)置id屬性和圖片源。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".LongClickActivity">
<ImageView
android:id="@+id/image"
android:src="@drawable/dog"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</LinearLayout>
然后來(lái)到Activity,首先在activity中重寫(xiě)onCreateContextMenu方法,此方法能新增菜單,并添加菜單項(xiàng)
//在activity中重寫(xiě)onCreateContextMenu菜單,為菜單添加選項(xiàng)值
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.add("收藏");
menu.add("舉報(bào)");
}
然后在onCreate方法中將長(zhǎng)按事件注冊(cè)到菜單中并打開(kāi)菜單。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_long_click);
//將長(zhǎng)按事件注冊(cè)到菜單中,并打開(kāi)菜單
ImageView imageView = (ImageView) findViewById(R.id.image);
imageView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
//注冊(cè)菜單
registerForContextMenu(v);
//打開(kāi)菜單
openContextMenu(v);
return true;
}
});
}
完整示例代碼
package com.badao.relativelayouttest;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.View;
import android.widget.ImageView;
public class LongClickActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_long_click);
//將長(zhǎng)按事件注冊(cè)到菜單中,并打開(kāi)菜單
ImageView imageView = (ImageView) findViewById(R.id.image);
imageView.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
//注冊(cè)菜單
registerForContextMenu(v);
//打開(kāi)菜單
openContextMenu(v);
return true;
}
});
}
//在activity中重寫(xiě)onCreateContextMenu菜單,為菜單添加選項(xiàng)值
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.add("收藏");
menu.add("舉報(bào)");
}
}
總結(jié)
以上所述是小編給大家介紹的Android中實(shí)現(xiàn)長(zhǎng)按照片彈出右鍵菜單功能的實(shí)例代碼,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!
相關(guān)文章
詳解VirtualApk啟動(dòng)插件Activity
這篇文章主要介紹了詳解VirtualApk啟動(dòng)插件Activity,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
RxJava2.x實(shí)現(xiàn)定時(shí)器的實(shí)例代碼
本篇文章主要介紹了RxJava2.x實(shí)現(xiàn)定時(shí)器,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06
OpenGL Shader實(shí)現(xiàn)物件材料效果詳解
在一些主流app上有一些比較特殊的濾鏡效果,例如灰塵、塑料封面、光影效果等,這些其實(shí)是紋理疊加的效果。本文將用OpenGL Shader實(shí)現(xiàn)這些效果,需要的可以參考一下2022-02-02
Android 中Popwindow彈出菜單的兩種方法實(shí)例
這篇文章主要介紹了Android 中Popwindow彈出菜單的兩種方法實(shí)例的相關(guān)資料,這里提供了兩種實(shí)現(xiàn)的方法,并附有實(shí)例代碼,需要的朋友可以參考下2017-03-03
Android PopupWindow實(shí)現(xiàn)微信右上角的彈出菜單
這篇文章主要為大家詳細(xì)介紹了Android PopupWindow實(shí)現(xiàn)微信右上角的彈出菜單,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-04-04
Android學(xué)習(xí)筆記之ListView復(fù)用機(jī)制詳解
本篇文章主要介紹了Android學(xué)習(xí)筆記之ListView復(fù)用機(jī)制詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02
android ScrollView實(shí)現(xiàn)水平滑動(dòng)回彈
這篇文章主要為大家詳細(xì)介紹了android ScrollView實(shí)現(xiàn)水平滑動(dòng)回彈,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04

