Las ventanas emergentes son una forma común de solicitar información.
DialogFragment se introdujo en 3.0. Es un fragmento especial que se utiliza para mostrar un cuadro de diálogo modal en Actividad.
Ejemplo de fragmento de diálogo
Determinar el estilo de la interfaz de usuario
Primero tenemos que saber qué hacer. En términos generales, una ventana emergente simple tiene un título y contenido de texto en un extremo. O con uno o dos botones.
Aquí creamos una ventana emergente simple con un título y texto.
disposición
Después de determinar el estilo, primero escriba el diseño.
diálogo_simple.xml
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="12dp">
<TextView
android:id="@+id/title_tv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:textColor="#111111"
android:textSize="16sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/content_tv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:gravity="center"
android:textColor="#111111"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/title_tv" />
</androidx.constraintlayout.widget.ConstraintLayout>
Crear una nueva clase de ventana emergente
Crea una nueva SimpleDialog
herencia de clases DialogFragment
.
- existir
onCreate
方法中接收传入的数据。传递数据使用了Bundle。importar android.os.Bundle; importar android.view.LayoutInflater; importar android.view.View; importar android.view.ViewGroup; importar android.widget.TextView; importar androidx.annotation.NonNull; importar androidx.annotation.Nullable; importar androidx.fragment.app.DialogFragment; clase pública SimpleDialog extiende DialogFragment { cadena final estática pública K_TITLE = “k_title”; // 传输数据时用到的key public static final String K_CONTENT = “k_content”; título de cadena privada; contenido de cadena privada; @Override public void onCreate(@Nullable Bundle saveInstanceState) { super.onCreate(savedInstanceState); Paquete en = getArguments(); if (en! = nulo) { título = en.getString(K_TITLE); contenido = in.getString(K_CONTENT); } } @Nullable @Override public View onCreateView(@NonNull LayoutInflater inflador, @Nullable ViewGroup contenedor, @Nullable Bundle saveInstanceState) { return inflater.inflate(R.layout.dialog_simple, contenedor, false); } @Override public void onViewCreated(@NonNull Ver vista, @Nullable Bundle saveInstanceState) { super.onViewCreated(view, saveInstanceState); TextView titleTv = view.findViewById(R.id.title_tv); TextView contentTv = view.findViewById(R.id.content_tv); títuloTv.setText(título); contentTv.setText(contenido); } } - En
onCreateView
el método, utilice el diseño creado anteriormente. onViewCreated
Realizar operaciones de interfaz de usuario en métodos .
usar
Abre esta ventana. Usamos DialogFragment.show(@NonNull FragmentManager manager, @Nullable String tag)
métodos.
private void popSimpleDialog1(String title, String content) {
SimpleDialog dialog = new SimpleDialog();
Bundle bundle = new Bundle();
bundle.putString(SimpleDialog.K_TITLE, title);
bundle.putString(SimpleDialog.K_CONTENT, content);
dialog.setArguments(bundle);
dialog.show(getSupportFragmentManager(), "one-tag");
}
// 调用
popSimpleDialog1("欢迎访问");
Ejecútelo en la máquina y podrá ver el efecto.
Resumen :
Utilice DialogFragment para implementar ventanas emergentes. Debe determinar el estilo de la interfaz de usuario, crear un diseño, crear una nueva clase que herede DialogFragment y pasar datos.
Comparte una última vez
[Producido por el equipo técnico de Tencent] Comenzando con Android desde cero hasta dominarlo, tutorial de instalación de Android Studio + conjunto completo de tutoriales básicos de Android
Tutorial introductorio a la programación de Android
Conceptos básicos del lenguaje Java desde la entrada hasta la familiaridad
Conceptos básicos del lenguaje Kotlin desde la entrada hasta la familiaridad
Pila de tecnología Android desde la entrada hasta la familiaridad
Aprendizaje integral sobre Android Jetpack
Para los principiantes, puede resultar difícil instalar Android Studio. Puede ver el siguiente vídeo para aprender cómo instalarlo y ejecutarlo paso a paso.
Tutorial de instalación de Android Studio
Con la etapa de aprendizaje de Java, se recomienda centrarse en el aprendizaje por video en esta etapa y complementarlo con la revisión de libros y completar los vacíos. Si se centra principalmente en libros, puede escribir el código basándose en las explicaciones del libro, complementado con vídeos didácticos para comprobar si hay omisiones y rellenar los huecos. Si tiene problemas, puede ir a Baidu. Generalmente, muchas personas encontrarán problemas de nivel de entrada y darán mejores respuestas.
Debe dominar los puntos de conocimientos básicos, como cómo utilizar los cuatro componentes principales, cómo crear servicios, cómo diseñar, vistas personalizadas simples, animaciones, comunicación de red y otras tecnologías comunes.
Se ha preparado un conjunto completo de tutoriales de base cero para usted. Si lo necesita, puede agregar el código QR a continuación para obtenerlo de forma gratuita.
Un conjunto completo de tutoriales básicos de Android.