J'ai créé une classe qui étend une vue:getLayoutParams retourne null?
public class BoardView extends View {
et j'ai spécifié la largeur et la hauteur du BoardView dans le fichier main.xml de l'application:
<mypackage.BoardView
android:id="@+id/board"
android:layout_width="270px"
android:layout_height="270px" />
Je suis essayer d'obtenir la largeur et la hauteur à partir d'une fonction appelée depuis le constructeur de BoardView. Voici ce que je suis en train de faire:
ViewGroup.LayoutParams p = this.getLayoutParams();
int h = p.height;
mais getLayoutParams renvoie toujours la valeur null. Une idée de pourquoi cela ne fonctionne pas?
Merci pour l'aide. Tout ce dont j'avais vraiment besoin était la valeur d'attribut XML que je pouvais obtenir à partir de l'attribut AttributeSet du constructeur. Voici ma (moche) solution: Chaîne ns = "http://schemas.android.com/apk/res/android"; Chaîne v = attrs.getAttributeValue (ns, "layout_height"); // Convertir "270px" en "270" v = v.replace ("px", ""); // Au moment de l'exécution, cette valeur est "270,0" v = v.replace (". 0", ""); int h = Entier.parseInt (v); – tronman