ConstraintLayoutは、任意のサイズ(0ディメンションのディメンションのビュー)になり得るビューに対して、自身を測定する前に2つのパスが必要です。だから、私は比率ベースのビューを持っていると私はビューがユーザーに見える前になることがどのくらい大きなものかを嘲笑したい。私はこれが重要であれば、これはリサイクルのためのアダプタであるとしています。私は、次のされ、これまでに試してみました:Android - constraintLayoutでラップされた '任意のサイズ'のビューを測定する方法
iv.measure(View.MeasureSpec.UNSPECIFIED, View.MeasureSpec.UNSPECIFIED);
width = iv.getMeasuredWidth();
height = iv.getMeasuredHeight();
、ここではレイアウトです:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/iv"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginLeft="11dp"
android:layout_marginRight="11dp"
android:layout_marginTop="0dp"
app:layout_constraintDimensionRatio="H,3:2"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
/>
</android.support.constraint.ConstraintLayout>
が、これは常に幅と高さのための1のために私は1を返します。どうすれば実際の測定値を得ることができますか?
私はビューを必要とする理由は、URLを構築することです。ここで私は必要な例のURLは次のとおりです。
mywebsiteAtImgix.com/img/books/20170316171929_6b1c02a5.jpg?auto=compress&dpr=1&fit=clip&ixlib=java-1.1.1&q=75&w=1&h=1
MORE INFO:私は会社と呼ばれるimgixを使用していますが、彼らは私のためにすべての私の画像を拡大縮小 。非常に速く、それらはウェブイメージのために有用なのでキャッシュする。
とにかく、クエリパラメータの幅が「w」、高さが「h」であることに注意してください。今、彼らは1として来ているが、私はそれを測定するときにnon constraintslayoutイメージビューのために私は大丈夫とimgixから返されたイメージは良いサイズです。私が次元のために1と1を使用すると、私は非常に大きい(2MBから5MB +)元のイメージを返します。私は適切にURLを構築することができるようにconstraintLayoutから次元を取得する必要があります。これは物事をクリアすることを望む。
いいえ、私は幅と高さの寸法を知ってからdrawableを挿入します。私は実際に私は画像のURLをcinstruct後にWeb呼び出しをしています。しかし、そのURLは画像の高さと幅が必要です。その会社imgixと呼ばれる – j2emanue
私はちょうどユーザが見た制約レイアウトを測定する方法が必要です – j2emanue
フォローアップありがとう。なぜ私はそれが必要なのか分かるように質問を更新しました。基本的に 。私はビューの高さと幅を持つURLを構築する必要があります。 imgix社は正確な幅と高さの画像を私に提供します。アンドロイドは何もスケールしません。画像は非常に鮮明であり、取得するのが速いです。 – j2emanue