Je l'ai fait par le passé et je suis frustré parce que cette méthode ne fonctionne pas comme je le souhaite. J'ai une image que je veux redimensionner à des dimensions spécifiques et je suis en utilisant le code ci-dessous:Pourquoi setLayoutParams ne modifie-t-il pas la taille de mon ImageView?
snellen.post(new Runnable() {
@Override
public void run() {
ConstraintLayout.LayoutParams params = (ConstraintLayout.LayoutParams) snellen.getLayoutParams();
params.width = (int)(converted*WIDTH_RATIO);
params.height = (int)(converted*HEIGHT_RATIO);
snellen.setLayoutParams(params);
System.out.println("########################################################################### SNELLEN CHART WIDTH: : " + snellen.getWidth());
System.out.println("########################################################################### SNELLEN CHART HEIGHT: : " + snellen.getHeight());
}
});
J'ai vérifié ce que les deux (converted*WIDTH_RATIO)
et (converted*HEIGHT_RATIO)
sont et ils sont quelque part dans les 100. Je l'ai mis à l'intérieur d'un handler afin que je puisse obtenir le bon getLayoutParams()
parce que j'ai eu des problèmes avec cela dans le passé.
Le problème est que lorsque j'imprime quelle est la largeur et les hauteurs sont ils ne sont pas ce que je les ai mis à l'intérieur de la params.width
et params.height
. Qu'est-ce que je fais mal ici?
On dirait que ça devrait marcher, n'est-ce pas? Jetez un oeil à [cette réponse] (https://stackoverflow.com/a/40028802/6287910) pour une autre façon d'aborder cela. – Cheticamp
Puisque le parent 'snellen' semble être' ConstraintLayout', est-il possible que les contraintes soient si spécifiques qu'elles ne vous permettent pas de contrôler la taille de la vue? –
@BenP. Tu avais raison. J'ai dû mettre mon image juste pour être contrainte d'un côté de l'écran au lieu d'être contrainte de tous les côtés en utilisant mes lignes directrices que j'ai créées. Ensuite, il était capable de redimensionner l'image. Juste wow, je ne m'attendais jamais à ce que ce soit un problème. N'hésitez pas à poster votre commentaire comme réponse – cjnash