私は過去にこれをしていましたが、私は期待したようにこの方法が機能していないので、私は欲求不満です。私は特定の寸法にリサイズする画像を持っていると私は以下のコードを使用しています:私は両方(converted*WIDTH_RATIO)
と(converted*HEIGHT_RATIO)
が何であるかをチェックして、彼らはどこかに100の中にあるImageViewのサイズをsetLayoutParamsで変更できないのはなぜですか?
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());
}
});
。私はそれをハンドラの中に入れました。私は過去に問題があったので、正しいgetLayoutParams()
を得ることができます。
問題は、幅と高さが何であるかを印刷するときに、params.width
とparams.height
の内側に設定したものではないことです。私はここで間違って何をしていますか?
動作するはずですか?これにアプローチする別の方法は、[この回答](https://stackoverflow.com/a/40028802/6287910)をご覧ください。 – Cheticamp
'snellen'の親は' ConstraintLayout'のように見えますが、制約が非常に特殊でビューのサイズを制御できない可能性はありますか? –
@BenP。あなたは正しかった。私は私が作成したガイドラインを使用して、すべての面で制約を受けるのではなく、画面の片面に制限するようにイメージを設定する必要がありました。その後、画像のサイズを変更することができました。ちょうどうわー、私はそれが問題であるとは決して考えなかった。あなたのコメントを回答として投稿してください。 – cjnash