En Android, hay tres tipos de menús disponibles para definir un conjunto de opciones y acciones en las aplicaciones de Android. Las listas de menús en las aplicaciones de Android son las siguientes:
- Menú de opciones de Android
- Menú contextual de Android
- Menú emergente de Android
Aquí, en este artículo, analicemos los detalles del menú contextual . En Android, el menú contextual es como un menú flotante y surge cuando el usuario ha presionado prolongadamente o hace clic en un elemento y es útil para implementar funciones que definen el contenido específico o el efecto del marco de referencia. El menú contextual de Android es similar al menú contextual de Windows o Linux. En el sistema Android, el menú contextual proporciona acciones que cambian un elemento específico o un marco contextual en la interfaz de usuario y se puede proporcionar un menú contextual para cualquier vista. El menú contextual no admitirá accesos directos a objetos ni iconos de objetos. qué
Ejemplo
Paso 1: Crear un nuevo proyecto
Para crear un nuevo proyecto en Android Studio, consulte Cómo crear/iniciar un nuevo proyecto en Android Studio . Tenga en cuenta que seleccione Java como lenguaje de programación.
Paso 2: trabajar con el archivo activity_main.xml
Abra res -> Diseño -> actividad_principal.xml y escriba el siguiente código. En este archivo, agregue solo un TextView para mostrar un texto simple.
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>
Paso 3: trabajar con el archivo Mainactivity.java
Abra la aplicación -> Java -> Paquete -> archivo Mainactivity.java. En este paso, agregue el código para mostrar ContextMenu. Cada vez que la aplicación comience, haga un clic prolongado en un texto y muestre la cantidad de opciones para seleccionarlas para fines específicos. Se agregan comentarios dentro del código para comprender el código con más detalle.
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; } }
Salida: ejecutar en el emulador
Ahora conecte el dispositivo con un cable USB o en un emulador e inicie la aplicación. El usuario verá un texto. Ahora, al presionar prolongadamente el texto, se generarán opciones de menú y se seleccionará una de ellas para realizar una funcionalidad específica.
Publicación traducida automáticamente
Artículo escrito por priyanshdhaketa14 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA