Android 如何将ImageView高度与其父级(即包裹内容)匹配?(RecyclerView项目)
我有一个带有Android 如何将ImageView高度与其父级(即包裹内容)匹配?(RecyclerView项目),android,android-recyclerview,imageview,Android,Android Recyclerview,Imageview,我有一个带有线性布局的RecyclerView项目。LinearLayout的高度设置为wrap\u content。在LinearLayout中,我希望有一个与LinearLayout高度相匹配的三角形的ImageView,以获得如下效果: 对于LinearLayout的固定高度,我可以在XML中设置它: <ImageView android:id="@+id/imageView" android:layout_width="wrap_content"
线性布局的RecyclerView
项目。LinearLayout
的高度设置为wrap\u content
。在LinearLayout
中,我希望有一个与LinearLayout
高度相匹配的三角形的ImageView
,以获得如下效果:
对于LinearLayout
的固定高度,我可以在XML中设置它:
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:scaleType="fitXY"
android:adjustViewBounds="true"/>
看起来,ImageView
的大小调整工作正常,但它不显示图像。我做错了什么?我的错误是我不小心从XML中删除了图像源。上面的代码现在显示了一个图像,但它仍然不能正常工作
要获得正确的高度,必须替换度量参数:
holder.mLinearLayout.measure(
View.MeasureSpec.makeMeasureSpec(Resources.getSystem().getDisplayMetrics().widthPixels, View.MeasureSpec.EXACTLY),
View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)
);
我不确定这是否是最好的解决方案,但它是有效的
holder.mLinearLayout.measure(
View.MeasureSpec.makeMeasureSpec(Resources.getSystem().getDisplayMetrics().widthPixels, View.MeasureSpec.EXACTLY),
View.MeasureSpec.makeMeasureSpec(0, View.MeasureSpec.UNSPECIFIED)
);