Android - Spinner
Spinner le permite seleccionar un elemento de un menú desplegable
Por ejemplo. Cuando esté utilizando la aplicación Gmail, obtendrá el menú desplegable como se muestra a continuación, debe seleccionar un elemento de un menú desplegable.
Ejemplo de Spinner
Ejemplo
Este ejemplo demuestra la categoría de computadoras, debe seleccionar una categoría de la categoría.
Para experimentar con este ejemplo, debe ejecutarlo en un dispositivo real después de desarrollar la aplicación de acuerdo con los pasos a continuación.
Pasos | Descripción |
---|---|
1 | Utilizará Android Studio para crear una aplicación de Android y nombrarla como AndroidSpinnerExample en un paquete com.example.spinner. |
2 | Modifique el archivo src / AndroidSpinnerExampleActivity.java para crear una vista de lista simple con elementos que se muestran como elementos giratorios |
3 | Modifique el archivo res / layout / activity_main.xml para agregar el código XML respectivo. |
4 | No es necesario definir constantes de cadena predeterminadas. Android Studio se encarga de las constantes de cadena predeterminadas en string.xml |
5 | Ejecute la aplicación y elija un dispositivo Android en ejecución e instale la aplicación en él y verifique los resultados. |
A continuación se muestra el contenido del archivo de actividad principal modificado src/com.example.spinner/AndroidSpinnerExampleActivity.java.
package com.example.spinner;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;
import android.widget.AdapterView.OnItemSelectedListener;
class AndroidSpinnerExampleActivity extends Activity implements OnItemSelectedListener{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Spinner element
Spinner spinner = (Spinner) findViewById(R.id.spinner);
// Spinner click listener
spinner.setOnItemSelectedListener(this);
// Spinner Drop down elements
List<String> categories = new ArrayList<String>();
categories.add("Automobile");
categories.add("Business Services");
categories.add("Computers");
categories.add("Education");
categories.add("Personal");
categories.add("Travel");
// Creating adapter for spinner
ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, categories);
// Drop down layout style - list view with radio button
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// attaching data adapter to spinner
spinner.setAdapter(dataAdapter);
}
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
// On selecting a spinner item
String item = parent.getItemAtPosition(position).toString();
// Showing selected spinner item
Toast.makeText(parent.getContext(), "Selected: " + item, Toast.LENGTH_LONG).show();
}
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub
}
}
Modificar el contenido de res/layout/activity_main.xml a lo siguiente
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:padding="10dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dip"
android:text="Category:"
android:layout_marginBottom="5dp"/>
<Spinner
android:id="@+id/spinner"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:prompt="@string/spinner_title"/>
</LinearLayout>
Modificar el res/values/string.xml a lo siguiente
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">AndroidSpinnerExample</string>
</resources>
Este es el predeterminado AndroidManifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.spinner" >
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="com.example.spinner.AndroidSpinnerExampleActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
Intentemos ejecutar su aplicación AndroidSpinnerExample. Supongo que ha conectado su dispositivo móvil Android real con su computadora. Para ejecutar la aplicación desde Android Studio, abra uno de los archivos de actividad de su proyecto y haga clic en el icono Ejecutar de la barra de herramientas. Antes de iniciar su aplicación, Android Studio mostrará la siguiente ventana para seleccionar una opción donde desea ejecutar su aplicación de Android.
Si hace clic en el botón giratorio, aparecerá un menú desplegable como se muestra a continuación