oreo - android pie
Android: ¿Para qué se utiliza android.R.id.content? (4)
Acabo de tener un problema similar. Codificando R.id.content (según Andriod Iniciando otra actividad - Mostrar el mensaje )
La codificación del tutorial es:
RelativeLayout layout = (RelativeLayout) findViewById(R.id.content);
Esto no pudo compilarse, se verificó varias veces. Sin embargo, me di cuenta de que Android Studio pedía / sugería el conent (primera letra t, cuarta carta faltaba). Luego utilicé esto, es decir, contenido codificado en lugar de contenido (como a continuación) y funcionó la compilación y la ejecución posterior en mi tableta.
RelativeLayout layout = (RelativeLayout) findViewById(R.id.content);
Estoy usando Android Studio en Windows 7 Build # AI-141.2456560 construido el 1 de diciembre de 2015 usando JRE 1.7.0_70-b15 amd64.
¿Alguien podría explicar el significado de "android.R.id.content"?
¿Cómo se usa?
http://developer.android.com no tiene ninguna explicación.
contenido int público estático final Desde: API Nivel 1
Valor constante: 16908290 (0x01020002)
Convirtiendo el comentario de Philipp Reichart en una respuesta:
android.R.id.content le proporciona el elemento raíz de una vista, sin tener que conocer su nombre / tipo / ID real. Echa un vistazo Obtén la vista de la raíz de la actividad actual
El valor ID de ViewGroup
indica el ViewGroup
de ViewGroup
de todo el área de contenido de una Activity
.
Se puede usar con Fragment
:
public class MyActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(android.R.id.content, MyFragment.newInstance())
.commit();
}
}
...
}
El código anterior insertará la View
creada por Fragment
en el ViewGroup
identificado por android.R.id.content
.
Los diseñadores de Google desarrollan Android UX con pautas de diseño específicas o recomendadas. El diseño android.R.id.content define una distribución lineal con algunos atributos que Android considera un buen estándar.
Por lo tanto, cargar la vista raíz de Fragment Manager con android.R.id.content garantiza que se implementen estas pautas.
NOTA: Este diseño ha establecido el atributo: android: addStatesFromChildren = "true" para permitir que los fragmentos secundarios sobrescriban los atributos en esta vista de raíz.
A partir de la versión 19, android.R.id.content se define en un archivo: auto_complete_list.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/content"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:drawable/edit_text"
android:divider="@android:drawable/divider_horizontal_textfield"
android:addStatesFromChildren="true">