android上下文菜单示例

本文概述

  • Android上下文菜单示例
当用户长按元素时,将显示Android上下文菜单。也称为浮动菜单。
在对所选内容执行操作时,它会影响所选内容。
【android上下文菜单示例】它不支持项目快捷方式和图标。
Android上下文菜单示例让我们看一下android中上下文菜单的简单示例。
activity_main.xml从面板上拖动一个listview,现在xml文件如下所示:
< ?xml version="1.0" encoding="utf-8"?> < android.support.constraint.ConstraintLayout 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" tools:context="example.srcmini.com.contextmenu.MainActivity">< ListView android:layout_width="368dp" android:layout_height="495dp" android:id="@+id/listView" android:layout_marginEnd="8dp" android:layout_marginStart="8dp" android:layout_marginTop="8dp" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.0" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> < /android.support.constraint.ConstraintLayout>

main_menu.xml在菜单目录中为菜单项创建一个单独的menu_main.xml文件。
< ?xml version="1.0" encoding="utf-8"?> < menu xmlns:android="http://schemas.android.com/apk/res/android"> < item android:id="@+id/call" android:title="Call" /> < item android:id="@+id/sms" android:title="SMS" /> < /menu>

活动类让我们编写代码以在按下列表视图时显示上下文菜单。
package example.srcmini.com.contextmenu; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.ContextMenu; import android.view.MenuInflater; import android.view.MenuItem; import android.view.View; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.Toast; public class MainActivity extends AppCompatActivity { ListView listView; String contacts[]={"Ajay", "Sachin", "Sumit", "Tarun", "Yogesh"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView=(ListView)findViewById(R.id.listView); ArrayAdapter< String> adapter=new ArrayAdapter< String>(this, android.R.layout.simple_list_item_1, contacts); listView.setAdapter(adapter); // Register the ListViewfor Context menu registerForContextMenu(listView); } @Override public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.menu_main, menu); menu.setHeaderTitle("Select The Action"); } @Override public boolean onContextItemSelected(MenuItem item){ if(item.getItemId()==R.id.call){ Toast.makeText(getApplicationContext(), "calling code", Toast.LENGTH_LONG).show(); } else if(item.getItemId()==R.id.sms){ Toast.makeText(getApplicationContext(), "sending sms code", Toast.LENGTH_LONG).show(); }else{ return false; } return true; } }

输出:
android上下文菜单示例

文章图片
长按列表视图后输出。
android上下文菜单示例

文章图片
单击上下文菜单后的输出。
android上下文菜单示例

文章图片

    推荐阅读