У меня есть элемент recyclerview, который содержит карту в корне. Внутри каркаса у меня есть макет, высота которого установлена на wrap_content, и все работает отлично, но то, что я хочу сделать, - это изображение, которое заполнит карту, когда ее видимость будет видимой. Поскольку изображение намного больше, чем у карты, оно поднимает высоту карты. Ширина изображения задается как fill_parent, а height - wrap_content.Как скопировать ImageView в размер CardView в framelayout
<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card_view="http://schemas.android.com/apk/res-auto"
xmlns:app="http://schemas.android.com/tools"
android:id="@+id/card_view"
android:layout_gravity="center"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<FrameLayout
android:id="@+id/main_container"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<!-- main container -->
<LinearLayout
android:id="@+id/main_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:orientation="vertical">
<!-- omitted content -->
</LinearLayout>
<!-- overlay image -->
<ImageView
android:id="@+id/completed_image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:src="@drawable/completed_stamp"
android:scaleType="centerCrop"
android:cropToPadding="true"
android:adjustViewBounds="true"
android:visibility="gone"/>
</FrameLayout>
</android.support.v7.widget.CardView>
В основном я хочу, чтобы обложка была обрезана основной компоновкой, и я не уверен, как это сделать.
Изображение 800 x 800, а ImageView - в центре.
Я в настоящее время пробовал:
FrameLayout.LayoutParams layoutParams = mainContainer.getLayoutParams();
imageView.setLayoutParams(layoutParams);
imageView.requestLayout();
в onBindViewHolder
EDIT
Используя этот код в onBindViewHolder:
holder.ImageView.getLayoutParams().height = holder.CardView.getHeight();
Это работает, но что она делает применяется изменение размера к следующему которое требует его в списке recyclerview, поэтому его не действительно решение
Можете ли вы опубликовать снимок экрана вашего макета, как он выглядит? – GrIsHu
Я не могу на самом деле сделать скриншот проблемы как своего проприетарного приложения, но если вы думаете о карте, которая представляет собой прямоугольник, который шире, чем он высок, с параметром wrap_content на высоте и наложением изображения, которое изменяется на ширину карты, но из-за того, что изображение квадратное, он сдвигает нижнюю часть карты вниз. Я отредактировал вопрос с дальнейшим прогрессом, который я сделал – CaptRisky