Cómo obtiene "android:" valores de etiqueta en una vista personalizada
Parece que hay un montón de "similares" preguntas y respuestas a esta dispersa alrededor de la cual todos se refieren a cómo obtener un atributo personalizado de un AttributeSet
. Lo que no he podido encontrar hasta ahora es cómo obtener un android:
etiqueta de espacio de nombres:
<com.custom.view.StatusThumbnail android:id="@+id/statusThumbnailContainer" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_margin="5dp" android:layout_weight="1"/>
Me gustaría retirar el atributo layout_height
de este componente personalizado. Por desgracia de lo que he leído lo más cerca que tengo de cómo hacer esto es:
- ¿Mostrar una vista en el fondo de otra vista?
- Utilizar 'ellipsize' en un TextView y estirar la vista SOLAMENTE si es necesario
- ¿Es posible usar VectorDrawable en Botones y TextViews usando android: DrawableRight?
- HorizontalScrollView obtiene niños visibles
- NoClassDefFoundError android / support / v4 / animación / AnimatorCompatHelper
public StatusThumbnail(Context context, AttributeSet attrs) { super(context, attrs); String height = attrs.getAttributeValue("android", "layout_height");
Pero esto devuelve null
.
Seguramente esto no es una cosa rara para tratar de hacer?
- Pantalla Android Parpadea en mostrar / ocultar barras del sistema
- Android - Cómo alinear un centro de imagen con respecto a la vista de texto
- Divida la ventana XML / Text and Design de AndroidStudio
- MonoDroid: Error al llamar al constructor de la vista personalizada - TwoDScrollView
- ¿Por qué no usar siempre android: configChanges = "keyboardHidden | orientation"?
- OnGlobalLayoutListener en ListView
- ¿Cómo obtener la referencia attr en el código?
- ¿Cómo quitar la pantalla blanca mientras se carga la aplicación de Android?
El espacio de nombres debe ser " http://schemas.android.com/apk/res/android
" android es un alias declarado en su archivo xml
Primero declare los atributos requeridos en:
Res \ attrs.xml
<declare-styleable name="StatusThumbnail"> <attr name="statusThumbnailattr" format="string"/> </declare-styleable>
Entonces en su declaración de formato XML use el mismo atributo
<com.custom.view.StatusThumbnail android:id="@+id/statusThumbnailContainer" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_margin="5dp" statusThumbnailattr="some value" android:layout_weight="1"/>
Acceso mediante
public StatusThumbnail(Context context, AttributeSet attrs) { super(context, attrs); TypedArray a=context.obtainStyledAttributes(attrs,R.styleable.StatusThumbnail); this.mdColorDialogTitle=a.getString(R.styleable.StatusThumbnail_statusThumbnailattr); }
- Android: Necesidad de registrar la entrada de micrófono
- No se muestra el diálogo de permiso de Android M