He creado una clase que se extiende una vista:getLayoutParams devolviendo nulo?
public class BoardView extends View {
y he especificado el ancho y la altura de la BoardView en el archivo main.xml de la aplicación:
<mypackage.BoardView
android:id="@+id/board"
android:layout_width="270px"
android:layout_height="270px" />
estoy tratando de obtener el ancho y el alto de una función que se llama desde el constructor de BoardView. Esto es lo que estoy haciendo:
ViewGroup.LayoutParams p = this.getLayoutParams();
int h = p.height;
pero getLayoutParams siempre devuelve nulo. ¿Alguna idea de por qué esto no está funcionando?
Gracias por la ayuda. Todo lo que realmente necesitaba era el valor del atributo XML que podía obtener del AttributeSet en el constructor. Aquí está mi (fea) solución: String ns = "http://schemas.android.com/apk/res/android"; Cadena v = attrs.getAttributeValue (ns, "layout_height"); // Convertir "270px" a "270" v = v.replace ("px", ""); // En tiempo de ejecución, este valor es "270.0" v = v.replace (". 0", ""); int h = Integer.parseInt (v); – tronman