Высота изображения превышает содержание переноса Android - PullRequest
0 голосов
/ 28 октября 2019

Я использую xamarin android, чтобы создать приложение для Android, в котором я использую CardView с видом переработчика.

Проблема

Высота изображения превышает содержание переносатекст.

Что нужно

Я хочу, чтобы размер изображения соответствовал размеру текста.

Что я пробовал:

Я попытался установить изображение в качестве фона линейного макета, но он устанавливает высоту самого макета намного больше, чем показано на изображениях ниже. я попытался установить это в framelayout, но это дает тот же результат, как показано ниже

Подробная информация об изображениях

номера предоставляются с экземпляром представления карты в

1: изображение, высота источника изображения увеличивается, высота просмотра

2: это изображение настроено идеально, поскольку исходное разрешение по высоте изображения низкое, а изображение растянуто для просмотра

3: снова разрешение по высоте изображения высокое, поэтому просмотр увеличивается на изображение

4,5 просмотра карты без изображения

Мой код:

<RelativeLayout
    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">

    <android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/cardView"
        app:cardBackgroundColor="@android:color/transparent">



        <ImageView
             android:layout_width="match_parent"
             android:layout_height="fill_parent"
             android:adjustViewBounds="true"
             android:scaleType="fitXY"
             android:id="@+id/cardImage"/>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:id="@+id/templateLayout"
            >

            <TextView
                android:text="Title:"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textSize="20sp"
                android:id="@+id/listTitle"/>
            <TextView
                android:text="Start Time:"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textSize="15sp"
                android:id="@+id/listSTime"/>
            <TextView
                android:text="End Time:"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textSize="15sp"
                android:id="@+id/listFTime"/>
            <TextView
                android:text="Description:"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:textSize="15sp"
                android:id="@+id/listDescription"/>


        </LinearLayout>


    </android.support.v7.widget.CardView>

</RelativeLayout>

Изображения:

enter image description here

enter image description here

1 Ответ

1 голос
/ 28 октября 2019

вы можете изменить атрибуты imageView на android:scaleType="centreCrop" и изменить высоту на wrap content. вы соответствуете ей parent, в вашем случае это вид карты. Принимая во внимание, что текстовое представление находится в линейном расположении.

Orelse вы можете переместить ImageView к тому же линейному расположению textView

...