简体   繁体   中英

Display an image in Android Studio using ImageView in layout preview

I'm working on an Android app. I create an item layout for a recycler view and I'd like to display a preview of it in Android Studio using layout preview with tools namespace. To accomplish this task I:

  1. Put in sampledata an image (sampledata\\nre1.png). This is an important thing because I don't want to include the sample image in the apk.
  2. Use tools namespace in the ImageView to display the image in the layout preview

An screenshot: 在此处输入图片说明

And the layout XML:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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:paddingLeft="8dp"
    android:paddingTop="8dp"
    android:paddingRight="8dp"
    android:paddingBottom="8dp"
    tools:context=".ui.adapters.BarcodeAdapter">

    <ImageView
        android:id="@+id/item_barcode_nre1_image"
        android:layout_width="wrap_content"
        tools:layout_width="120dp"
        android:layout_height="112dp"
        android:scaleType="fitXY"
        android:layout_marginStart="@dimen/text_margin"
        android:contentDescription="NRE1"
        android:layout_marginTop="4dp"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/item_barcode_nre_label"
        tools:src="@sample/nre1.png" />

    <ImageView
        android:id="@+id/item_barcode_nre2_image"
        android:layout_width="wrap_content"
        android:layout_height="112dp"
        android:scaleType="fitXY"
        android:layout_marginEnd="@dimen/text_margin"
        android:contentDescription="NRE2"
        android:adjustViewBounds="true"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintTop_toTopOf="@+id/item_barcode_nre1_image"
        tools:src="@sample/nre2.png" />

    <ImageView
        android:id="@+id/item_barcode_codice_fiscale_image"
        android:layout_width="wrap_content"
        android:layout_height="112dp"
        android:scaleType="fitXY"
        android:contentDescription="Codice fiscale"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/item_barcode_codice_fiscale_label"
        tools:src="@sample/codice-fiscale.png"  />

    <TextView
        android:id="@+id/item_barcode_nre_label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="@dimen/text_margin"
        android:text="@string/item_qrcode_nre"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <TextView
        android:id="@+id/item_barcode_nre1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="4dp"
        android:ellipsize="end"
        android:maxLines="10"
        android:textAppearance="@android:style/TextAppearance.Material.Body1"
        app:layout_constraintEnd_toEndOf="@+id/item_barcode_nre1_image"
        app:layout_constraintStart_toEndOf="@+id/item_barcode_nre_label"
        app:layout_constraintStart_toStartOf="@+id/item_barcode_nre1_image"
        app:layout_constraintTop_toBottomOf="@+id/item_barcode_nre1_image"
        tools:text="1300A" />

    <TextView
        android:id="@+id/item_barcode_nre2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:ellipsize="end"
        android:maxLines="10"
        android:layout_marginTop="4dp"
        android:textAppearance="@android:style/TextAppearance.Material.Body1"
        app:layout_constraintEnd_toEndOf="@+id/item_barcode_nre2_image"
        app:layout_constraintHorizontal_bias="0.482"
        app:layout_constraintStart_toStartOf="@+id/item_barcode_nre2_image"
        app:layout_constraintTop_toBottomOf="@+id/item_barcode_nre2_image"
        tools:text="4003535379" />

    <TextView
        android:id="@+id/item_barcode_codice_fiscale_label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="@dimen/text_margin"
        android:text="@string/item_qrcode_codice_fiscale"
        app:layout_constraintStart_toStartOf="@+id/item_barcode_nre_label"
        app:layout_constraintTop_toBottomOf="@+id/item_barcode_nre1" />

    <TextView
        android:id="@+id/item_barcode_codice_fiscale"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:textAlignment="center"
        android:layout_marginTop="4dp"
        android:textAppearance="@android:style/TextAppearance.Material.Body1"
        app:layout_constraintEnd_toEndOf="@+id/item_barcode_codice_fiscale_image"
        app:layout_constraintStart_toStartOf="@+id/item_barcode_codice_fiscale_image"
        app:layout_constraintTop_toBottomOf="@+id/item_barcode_codice_fiscale_image"
        tools:text="CF" />

</androidx.constraintlayout.widget.ConstraintLayout>

I think I do it correctly, but it does not work. Any idea? Tnx.

<ImageView
    android:id="@+id/item_barcode_nre1_image"
    android:layout_width="wrap_content"
    tools:layout_width="120dp"
    android:layout_height="112dp"
    android:scaleType="fitXY"
    android:contentDescription="NRE1"
    android:layout_marginTop="4dp"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/item_barcode_nre_label"
    tools:src="@drawable/ic_launcher_background" />

Working on my side. Let's try. Thanks

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM