ConstraintLayout: Unable to scale image to fit a ratio in RecyclerView

前端 未结 1 614
旧巷少年郎
旧巷少年郎 2021-02-20 04:58
  • I have a recycler view with StaggeredGridLayoutManager.
  • Within in I have custom items/views.
  • Each item is defined as a ConstraintLayout where there is
相关标签:
1条回答
  • 2021-02-20 05:25

    For your image, you can specify which dimension should match constraints while the other dimension is adjusted to satisfy the ratio. See the section entitled "Ratio" in the documentation for Dimensions constraints.

    You can also use ratio if both dimensions are set to MATCH_CONSTRAINT (0dp). In this case the system sets the largest dimensions the satisfies all constraints and maintains the aspect ratio specified. To constrain one specific side based on the dimensions of another. You can pre append W," or H, to constrain the width or height respectively. For example, If one dimension is constrained by two targets (e.g. width is 0dp and centered on parent) you can indicate which side should be constrained, by adding the letter W (for constraining the width) or H (for constraining the height) in front of the ratio, separated by a comma:

         <Button android:layout_width="0dp"
                   android:layout_height="0dp"
                   app:layout_constraintDimensionRatio="H,16:9"
                   app:layout_constraintBottom_toBottomOf="parent"
                   app:layout_constraintTop_toTopOf="parent"/>
    

    So, in your case, I would try app:layout_constraintDimensionRatio="H,16:9".

    In addition, I don't think that you will need android:scaleType="centerCrop" or adjustViewBounds but you will have to try it out to see.

    0 讨论(0)
提交回复
热议问题