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:
- ¿Por qué getLocationOnScreen () y getLocationInWindow () devuelven los mismos valores?
- Valores de Android para Nexus 6
- Disposición de Android que reemplaza una vista con otra vista en tiempo de ejecución
- Android: Cómo crear pestañas como las que aparecen en la página de la interfaz de usuario de Android
- ¿Cómo puedo hacer un menú desplegable como este en la aplicación de Evernote?
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?
- Ocultar la barra de aplicaciones al desplazarse hacia abajo
- Inserción de contenido con escala escalable personalizada
- Edittext Mensaje de error de validación en android?
- Agregar CheckBox a la fila de lista pierde mis eventos onItemClick?
- LayoutManager para RecyclerView para establecer el número de columnas automáticamente según el ancho de los elementos
- ¿Icono con el interior del texto - cómo definir en la disposición?
- Tamaño de imagen de Android (sólo en retrato) para mdpi, hdpi, xhdpi, xxhdpi
- Restaurar el diseño predeterminado de la barra de acciones
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