J'ai créé une vue personnalisée nommée Graphview
. Voici la structure de la classe GraphView.
public class GraphView extends View {
public GraphView(Context context, float[] values, String title, String[] horlabels, String[] verlabels, boolean type) {
super(context);
........
}
..................
.................
}
J'ai ajouté la vue dans un tableau à l'aide de addview()
. Cela fonctionne bien. Maintenant, je veux définir la hauteur et la largeur pour la GraphView
. Comment faire ça?
Le moyen le plus simple est de définir la taille par programme de la manière suivante:
graphView.setLayoutParams(new LayoutParams(width, height));
Cela convient si vous connaissez la taille exacte de la vue. Toutefois, si vous souhaitez une approche plus flexible, vous pouvez remplacer la méthode onMeasure()
pour mesurer la vue plus précisément en fonction de l'espace disponible et des contraintes de présentation (wrap_content
, match_parent
ou une taille fixe).
Vous pouvez trouver un exemple sur la façon de remplacer onMeasure()
en consultant l'exemple -Docs Android et LabelView
dans votre répertoire SDK.
Vous pouvez définir la hauteur et la largeur comme ceci:
myGraphView.setLayoutParams(new LayoutParams(width, height));
vous pouvez définir la hauteur et la largeur d'une vue dans une présentation relative comme celle-ci
ViewGroup.LayoutParams params = view.getLayoutParams();
params.height = 130;
view.setLayoutParams(params);
spin12.setLayoutParams(new LinearLayout.LayoutParams(200, 120));
spin12
est votre compteur et 200 , 120 est width
et height
pour votre spinner
.
Ceci est une version basée sur Kotlin, en supposant que la vue parente est une instance de LinearLayout
.
someView.layoutParams = LinearLayout.LayoutParams(100, 200)
Cela permet de définir la largeur et la hauteur (100
et 200
) sur une seule ligne.