TouchImageView не отображается в XML

Я использую TouchImageView для увеличения / уменьшения изображения. Однако после того как я добавил TouchImageView.java и приступил к созданию настраиваемого представления в xml, он не появился. Ниже мой XML-файл:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/cast_expanded_controller_background_color"
android:id="@+id/Rlay">

<com.example.zhen.myggwpapp.TouchImageView
    android:layout_height="350dp"
    android:id="@+id/iv_preview_image"
    android:layout_width="match_parent"
    android:scaleType="matrix"
    android:layout_centerVertical="true"
    android:layout_alignParentStart="true" /></RelativeLayout>

TouchImageView в XML показывает только синюю точку

1 ответ

Решение

Попробуйте добавить android:src:@drawable/some_image внутри вашего ImageViewИли добавьте некоторый фон, чтобы увидеть его ширину и высоту. android:background="@color/some_color"

  <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:orientation="vertical" android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/color_white"
        android:id="@+id/Rlay">

        <com.example.zhen.myggwpapp.TouchImageView
            android:layout_height="350dp"
            android:background="@color/color_black"
            android:id="@+id/iv_preview_image"
            android:src="@drawable/some_image"
            android:layout_width="match_parent"
            android:scaleType="matrix"
            android:layout_centerVertical="true"
            android:layout_alignParentStart="true" />

    </RelativeLayout>

В моем случае что-то не так в методе под названием "fitImageToView". Где-то в этом методе нужно получить массив с плавающей запятой из value:prevMatrix.

Массив не равен нулю. Каждый набор в массиве не равен нулю. Но есть некоторые NaN/ Not A числа. Если у вас есть NaN, установите правильное значение (например, 0). В следующем кадре или в следующий раз getValue не будет NaN.

Float.isNaN(float f) может помочь вам обнаружить NaN.

(В моем проекте TouchImageView может быть действительно старой версией. Эта ошибка может быть исправлена. В случае... удачи. Я ничего не могу сделать.)

Другие вопросы по тегам