Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ArticleFragment.javaJava
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.ViewGroup;
Aquí puedes ver un ejemplo de un archivo layout que incluye dos fragmentos para
que en una actividad que se utilice en una pantalla considerada “grande (large)”
(especificada mediante el calificador large en el nombre del directorio).
res/layout-large/news_articles.xmlXHTML
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<fragment android:name="com.example.android.fragments.HeadlinesFragment"
android:id="@+id/headlines_fragment"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="match_parent" />
<fragment android:name="com.example.android.fragments.ArticleFragment"
android:id="@+id/article_fragment"
android:layout_weight="2"
android:layout_width="0dp"
android:layout_height="match_parent" />
</LinearLayout>
Consejo: Para más información sobre crear layouts para diferentes tamaños de
pantalla, visita Soporte de Diferentes Tamaños de Pantalla.
MainActivity.javaJava
import android.os.Bundle;
import android.support.v4.app.FragmentActivity;
Descripcion
Se refiere a las interacciones que permiten a los usuarios navegar a través, dentro
y fuera de las diferentes piezas de contenido de tu app. El componente Navigation
de Android Jetpack te permite implementar la navegación, desde simples clics de
botones hasta patrones más complejos, como las barras de apps y los paneles
laterales de navegación.
Principios de la navegación
Destino de inicio fijo
Cada app que compilas tiene un destino de inicio fijo. Esta es la primera pantalla
que ve el usuario cuando inicia la app desde el selector. Este destino también es
la última pantalla que ve el usuario cuando regresa al selector después de
presionar el botón Atrás.
Editor de Navigation
Después de agregar un gráfico, Android Studio abre el gráfico en el Editor de
Navigation. En el Editor de Navigation, puedes editar a nivel visual los gráficos de
navegación o editar directamente el XML subyacente.
Panel de destinos: muestra una lista de tu host de navegación y todos los destinos
que se encuentran actualmente en el Graph Editor.
Graph Editor: incluye una representación visual de tu gráfico de navegación.
Puedes cambiar entre la vista Design y la representación del XML subyacente en
la vista Text.
Atributos: muestra atributos del elemento seleccionado actualmente en el gráfico
de navegación.
Haz clic en la pestaña Text para ver el XML correspondiente, que debería ser
similar al siguiente fragmento:
</navigation>
Anatomía de un destino
El campo Type indica si un destino se implementa como un fragmento, una
actividad o cualquier otra clase personalizada en tu código fuente.
El campo Label contiene el nombre del destino legible para el usuario. Esto podría
aparecer en la IU, por ejemplo, si conectas el NavGraph a la Toolbar
usandosetupWithNavController(). Por este motivo, se recomienda que uses strings
de recursos para este valor.
El campo ID contiene el ID del destino que se utiliza para hacer referencia al
destino en el código.
En el menú desplegable Class, se muestra el nombre de la clase que está
asociada con el destino. Puedes hacer clic en este menú desplegable para
cambiar la clase asociada por otro tipo de destino.
<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
app:startDestination="@id/blankFragment">
<fragment
android:id="@+id/blankFragment"
android:name="com.example.cashdog.cashdog.BlankFragment"
android:label="@string/label_blank"
tools:layout="@layout/fragment_blank" />
</navigation>
Kotlin:
Fragment.findNavController()
View.findNavController()
Activity.findNavController(viewId: Int)
...
<dialog
android:id="@+id/my_dialog_fragment"
android:name="androidx.navigation.myapp.MyDialogFragment">
<argument android:name="myarg" android:defaultValue="@null" />
<action
android:id="@+id/myaction"
app:destination="@+id/another_destination"/>
</dialog>
...
</navigation>
Cómo crear un destino de actividad nuevo
Crear un destino Activity es similar a crear un destino Fragment. Sin embargo, la
naturaleza de un destino Activity resulta bastante diferente.
<activity
android:id="@+id/sampleActivityDestination"
android:name="com.example.android.navigation.activity.DestinationActivity"
android:label="@string/sampleActivityTitle" />
</navigation>
rgumentos dinámicos
En los ejemplos anteriores, se usaron URL fijas a fin de navegar a destinos. Es
posible que también debas admitir URL dinámicas en las que se envíe información
adicional como parte de la URL. Por ejemplo, puedes enviar un ID del usuario en
una URL con un formato similar a https://example.com?userId=<actual user ID>.
En este caso, en lugar del atributo data, usa dataPattern. Luego, puedes
proporcionar argumentos que se reemplacen por marcadores de posición con
nombre dentro del valor de dataPattern: