安卓中的上下文菜单,示例
在安卓系统中,有三种类型的菜单可用于定义安卓应用程序中的一组选项和动作。安卓应用程序中的菜单列表如下:
- Android 选项菜单
- 安卓上下文菜单
- android 弹出菜单
在本文中,我们来讨论一下上下文菜单的细节。在安卓系统中,上下文菜单就像一个浮动菜单,当用户长时间按下或点击一个项目时就会出现,有利于实现定义特定内容或参考框架效果的功能。安卓上下文菜单类似于 Windows 或 Linux 中的右键菜单。在安卓系统中,上下文菜单提供了改变用户界面中特定元素或上下文框架的操作,并且可以为任何视图提供上下文菜单。上下文菜单将不支持任何对象快捷方式和对象图标。注意,我们将使用 Java 语言来实现这个项目。下面给出了一个示例 GIF,以了解我们将在本文中做什么。
例子
第一步:创建新项目
要在安卓工作室创建新项目,请参考如何在安卓工作室创建/启动新项目。注意选择 Java 作为编程语言。
步骤 2:使用 activity_main.xml 文件
打开RES->Layout->activity _ main . XML并编写以下代码。在这个文件中只添加一个文本视图来显示一个简单的文本。
可扩展标记语言
<?xml version="1.0" encoding="utf-8"?>
<!--Relative Layout to display all the details-->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/relLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#fff"
android:padding="16dp"
tools:context=".MainActivity">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="20dp"
android:text="Long press me!"
android:textColor="#000"
android:textSize="20sp"
android:textStyle="bold" />
</RelativeLayout>
步骤 3:使用 Mainactivity.java 文件
打开 app - > Java - >包->Mainactivity.java文件。在这一步中,添加代码以显示上下文菜单。无论何时,应用程序都会在文本上长时间点击,并显示选项数量,以选择特定用途的选项。代码中添加了注释,以更详细地理解代码。
Java 语言(一种计算机语言,尤用于创建网站)
import android.graphics.Color;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.MenuItem;
import android.view.View;
import android.widget.RelativeLayout;
import android.widget.TextView;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
TextView textView;
RelativeLayout relativeLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Link those objects with their respective id's
// that we have given in .XML file
textView = (TextView) findViewById(R.id.textView);
relativeLayout = (RelativeLayout) findViewById(R.id.relLayout);
// here you have to register a view for context menu
// you can register any view like listview, image view,
// textview, button etc
registerForContextMenu(textView);
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
// you can set menu header with title icon etc
menu.setHeaderTitle("Choose a color");
// add menu items
menu.add(0, v.getId(), 0, "Yellow");
menu.add(0, v.getId(), 0, "Gray");
menu.add(0, v.getId(), 0, "Cyan");
}
// menu item select listener
@Override
public boolean onContextItemSelected(MenuItem item) {
if (item.getTitle() == "Yellow") {
relativeLayout.setBackgroundColor(Color.YELLOW);
} else if (item.getTitle() == "Gray") {
relativeLayout.setBackgroundColor(Color.GRAY);
} else if (item.getTitle() == "Cyan") {
relativeLayout.setBackgroundColor(Color.CYAN);
}
return true;
}
}
输出:在仿真器上运行
现在,使用 USB 电缆或在仿真器中连接设备,并启动应用程序。用户将看到一个文本。现在长按文本将生成菜单选项,并选择其中一个来执行特定功能。
[https://media.geeksforgeeks.org/wp-content/uploads/20200922011103/context.mp4](https://media.geeksforgeeks.org/wp-content/uploads/20200922011103/context.mp4)版权属于:月萌API www.moonapi.com,转载请注明出处