Sé cómo obtener la vista raíz con View.getRootView () . También puedo obtener la vista del onClick
evento de un botón donde el argumento es una Vista . Pero, ¿cómo puedo obtener la vista en una actividad ?
android
android-activity
view
Lalith
fuente
fuente
setContentView()
y la vista que proporcionó ya es la raíz. Si necesita el control de esa vista, simplemente coloque una ID en XAML yfindViewById()
estaría bien.Respuestas:
Si necesita una vista raíz de su actividad (para que pueda agregar sus contenidos allí) use
También se informó que en algunos dispositivos hay que usar
en lugar.
Tenga en cuenta que, como Booger informó, esto puede estar detrás de la barra de navegación (con el botón Atrás, etc.) en algunos dispositivos (pero parece que en la mayoría de los dispositivos no lo está).
Si necesita obtener la vista que agregó a su actividad utilizando el
setContentView()
método, como escribió Pottedmeat, puede usarPero mejor solo configure la identificación para esta vista en su diseño xml y use esta identificación en su lugar.
fuente
Esto es lo que uso para obtener la vista raíz como se encuentra en el archivo XML asignado con
setContentView
:fuente
ActionBar
también?Probé esto en Android 4.0.3, solo:
dar la misma vista de lo que obtenemos
y
dando hijo de su
Por favor confirmar.
fuente
Obtener vista raíz de la actividad actual.
Dentro de nuestra actividad podemos obtener la
root
vista con:o
fuente
En Kotlin podemos hacerlo un poco más cortos:
fuente
Por si acaso Alguien necesita una forma más fácil:
El siguiente código ofrece una vista de toda la actividad:
View v1 = getWindow().getDecorView().getRootView();
Para obtener una vista certian en la actividad, por ejemplo, una imageView dentro de la actividad, simplemente agregue la identificación de esa vista que desea obtener:
Espero que esto ayude a alguien
fuente
findViewById(R.id.imageView1);
a la actividad si desea la vista específica.anyview.getRootView();
Será la forma más fácil.fuente
Solución de extensión Kotlin
Use esto para simplificar el acceso en una Actividad. Luego puede referirse directamente
rootView
desde la Actividad, oactivity.rootView
fuera de ella:Si desea agregar lo mismo para Fragmentos por consistencia, agregue:
fuente
para ver la actividad actual
en cualquier onClick obtendremos "Ver vista", al usar 'ver' obtener el rootView.
Ver view = view.getRootView ();
y para obtener Ver en fragmento
Ver vista = FragmentClass.getView ();
fuente
Si está en una actividad, suponga que solo hay una vista raíz, puede obtenerla así.
entonces puedes lanzarlo a tu clase real
o podrías usar
observe que esto incluirá la vista de la barra de acción, su vista está debajo de la vista de la barra de acción
fuente
Activity
clase.Para aquellos de ustedes que están utilizando la Biblioteca de enlace de datos , para obtener la raíz de la actividad actual, simplemente use:
Y para los usuarios de Kotlin, es aún más simple:
fuente
Otra solución de Kotlin Extension
Si la vista de su actividad se declara en xml (ex
activity_root.xml
), abra el xml y asigne una identificación a la vista raíz:Ahora en su clase, importe la vista usando:
Ahora puede usar
root_activity
como vista.fuente