DropDownView es otra característica interesante utilizada en la mayoría de las aplicaciones de Android. Es una forma única de representar el menú y otras opciones en forma animada. Podemos llegar a ver la lista de opciones bajo un encabezado en DropDownView. En este artículo vamos a ver cómo implementar DropDownView en Android. qué
Aplicaciones de DropDownView
- Una forma única de representar datos en forma animada.
- Facilite la navegación y encuentre muchas opciones bajo un encabezado.
- Las opciones grandes se pueden mostrar fácilmente.
Atributos de DropDownView
Atributos |
Descripción |
---|---|
diseño_ancho | Para dar amplitud al trazado. |
disposición_altura | Para dar altura al trazado. |
contenedorFondoColor | Dar color de fondo al contenedor. |
color de superposición | Para dar color de superposición. |
Implementación paso a paso
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: agregue la dependencia y el repositorio de JitPack
Navegue a Gradle Scripts > build.gradle(Module:app) y agregue la siguiente dependencia en la sección de dependencias.
implementación ‘com.github.AnthonyFermin:DropDownView:1.0.1’
Agregue el repositorio de JitPack a su archivo de compilación. Agréguelo a su root build.gradle al final de los repositorios dentro de la sección allprojects{ }.
todos los proyectos {
repositorios {
…
experto {url «https://jitpack.io»}
}
}
Después de agregar esta dependencia, sincronice su proyecto y ahora avanzaremos hacia su implementación.
Paso 3: trabajar con el archivo activity_main.xml
Vaya a la aplicación > res > diseño > actividad_principal.xml y agregue el siguiente código a ese archivo. A continuación se muestra el código para el archivo activity_main.xml .
XML
<?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=".MainActivity"> <!--DropDown Menu--> <com.anthonyfdev.dropdownview.DropDownView android:id="@+id/drop_down_view" android:layout_width="match_parent" android:layout_height="wrap_content" app:containerBackgroundColor="@color/purple_200" app:overlayColor="#EEEEEE" /> </LinearLayout>
Paso 4: Crear nuevos archivos de recursos de diseño
Vaya a la aplicación > res > diseño > haga clic con el botón derecho en > Nuevo > Archivo de recursos de diseño y nombre los archivos como encabezado y pie de página .
A continuación se muestra el código para el archivo header.xml:
XML
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="10dp"> <!--Header for drop down--> <TextView android:id="@+id/textView2" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Amazing" /> </LinearLayout>
A continuación se muestra el código para el archivo footer.xml :
XML
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:padding="10dp"> <!--Items in drop down--> <TextView android:id="@+id/textView" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Awesome" /> <TextView android:id="@+id/textView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="Line 1" /> <TextView android:id="@+id/textView2" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="10dp" android:text="Line 2" /> <TextView android:id="@+id/textView3" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Line 3" /> <TextView android:id="@+id/textView4" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Line 4" /> <TextView android:id="@+id/textView5" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Line 5" /> <TextView android:id="@+id/textView6" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Line 6" /> <TextView android:id="@+id/textView7" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Line 7" /> </LinearLayout>
Paso 5: trabajar con el archivo MainActivity.java
Vaya al archivo MainActivity.java y consulte el siguiente código. A continuación se muestra el código del archivo MainActivity.java . Se agregan comentarios dentro del código para comprender el código con más detalle.
Java
import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.widget.Button; import androidx.appcompat.app.AppCompatActivity; import com.anthonyfdev.dropdownview.DropDownView; public class MainActivity extends AppCompatActivity { Button button; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Drop down menu given using id DropDownView dropDownView = (DropDownView) findViewById(R.id.drop_down_view); View collapsedView = LayoutInflater.from(this).inflate(R.layout.header, null, false); View expandedView = LayoutInflater.from(this).inflate(R.layout.footer, null, false); dropDownView.setHeaderView(collapsedView); dropDownView.setExpandedView(expandedView); collapsedView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // on click the drop down // will open or close if (dropDownView.isExpanded()) { dropDownView.collapseDropDown(); } else { dropDownView.expandDropDown(); } } }); } }
Ahora haga clic en la opción de ejecución , tomará algún tiempo construir Gradle . Después de eso, obtendrá la salida en su dispositivo como se indica a continuación.
Producción:
Publicación traducida automáticamente
Artículo escrito por chinmaymunje96 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA