Glide를 사용하여 GridView에 이미지 표시

해변

GridView에서 Glide 이미지 로딩을 어떻게 사용할 수 있습니까? 이미지 URL, 이름 및 설명이있는 카드 클래스가 있습니다. GridView에 표시하고 싶습니다. 문서에서 작성되었습니다.

Glide.with(fragment)
    .load(myUrl)
    .into(imageView);

그러나 실제로 얼마나 많은 이미지 뷰를 가질 지 모르는 경우 여기에서 imageView를 어떻게 정의 할 수 있습니까?

아래는 내 레이아웃과 Fragment 클래스입니다.

fragment_collection.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="match_parent"
    tools:context=".view.ui.collection.CollectionFragment">

    <LinearLayout
        android:layout_width = "match_parent"
        android:layout_height = "match_parent"
        android:layout_margin="15dp"
        android:orientation = "vertical">
        <GridView
            android:id = "@+id/grid_cards"
            android:layout_width = "wrap_content"
            android:layout_height = "match_parent"
            android:columnWidth="120dp"
            android:numColumns="auto_fit"
            android:verticalSpacing="10dp"
            android:horizontalSpacing="10dp"
            android:stretchMode="columnWidth"
            android:gravity="center"
            android:divider = "#000"
            android:dividerHeight = "1dp"
            android:footerDividersEnabled = "false"
            android:headerDividersEnabled = "false"/>
    </LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

fragment_card.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/android_list_view_tutorial_with_example"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:padding="7dp">

    <ImageView
        android:id="@+id/image_card"
        android:layout_width="100dp"
        android:layout_height="200dp"
        android:contentDescription="@string/app_name"
        android:padding="10dp" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        android:padding="7dp">

        <TextView
            android:id="@+id/text_card_name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="15sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/text_card_short_description"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingTop="5dp"
            android:textSize="12sp" />
    </LinearLayout>
</LinearLayout>

CollectionFragment.kt

class CollectionFragment : Fragment() {

    private lateinit var collectionViewModel: CollectionViewModel

    override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        collectionViewModel =
            ViewModelProvider(this).get(CollectionViewModel::class.java)
        val root = inflater.inflate(R.layout.fragment_collection, container, false)

        var imageCard = mutableListOf<String>()
        var cardName = mutableListOf<String>()
        var cardShortDescription = mutableListOf<String>()
        collectionViewModel.getCards().observe(viewLifecycleOwner, Observer {
            for (card in it) {
                imageCard.add(card.url)
                cardName.add(card.name)
                cardShortDescription.add(card.description)
            }
        })

        val images: MutableList<HashMap<String, String?>> = ArrayList()

        for (i in 0..7) {
            val map = HashMap<String, String?>()
            map["image_card"] = imageCard[i].toString()
            map["text_card_name"] = cardName[i]
            map["text_card_short_description"] = cardShortDescription[i]
            images.add(map)
        }

        val from = arrayOf("image_card", "text_card_name", "text_card_short_description")
        val to = intArrayOf(
            R.id.image_card,
            R.id.text_card_name,
            R.id.text_card_short_description
        )

        val simpleAdapter =
            SimpleAdapter(this.context, images, R.layout.fragment_card, from, to)
        val androidListView: GridView = root.findViewById(R.id.grid_cards) as GridView
        androidListView.adapter = simpleAdapter
        return root
    }
}
해변

누군가가 Glide를 사용하여 이미지와 일부 텍스트를 GridView로 전달하는 Adapter의 예를 찾으면 여기 에이 링크 https://www.homeandlearn.co.uk/android/grid_view_custom_adapter 의 자습서를 기반으로 한 것입니다. .html .

class CardAdapter constructor(private val context: Context, private val images: MutableList<HashMap<String, String?>>) :  BaseAdapter() {

    override fun getCount(): Int {
        return images.size
    }

    override fun getItem(position: Int): Any {
        return images[position]
    }

    override fun getItemId(position: Int): Long {
        return position.toLong()
    }

    override fun getView(position: Int, convertView: View?, parent: ViewGroup?): View {
        var view = convertView

        if(view == null) {
            val layoutInflater = LayoutInflater.from(context)
            view = layoutInflater.inflate(R.layout.fragment_card, parent, false)
        }

        val card = view!!.findViewById<ImageView>(R.id.image_card)
        val name : TextView = view.findViewById(R.id.text_card_name)
        val description : TextView = view.findViewById(R.id.text_card_short_description)

        Glide.with(context)
            .load(images[position]["image_card"])
            .into(card)

        name.text = images[position]["text_card_name"]
        description.text = images[position]["text_card_short_description"]

        return view
    }

}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Android Q에서 Glide를 사용하여 "content : //"체계를 사용하여 URI의 이미지 표시

분류에서Dev

Android 7 이상에서 Glide를 사용하여 URL로 조각 ImageView에 GIF 이미지 표시

분류에서Dev

FreeMarker를 사용하여 Liferay 테마에 이미지 표시

분류에서Dev

FreeMarker를 사용하여 Liferay 테마에 이미지 표시

분류에서Dev

TCPDF를 사용하여 PDF 헤더에 이미지 표시

분류에서Dev

Bash를 사용하여 루프에 이미지 표시

분류에서Dev

AsyncTask를 사용하여 Listview에 이미지 표시

분류에서Dev

Android에서 서버의 이미지를 Glide로 표시하는 방법

분류에서Dev

Glide를 사용하여 MenuItem에서 원격 이미지로드

분류에서Dev

Android에서 Glide를 사용하여 이미지로드

분류에서Dev

Android Studio에서 이미지 표시에 Glide를 사용하는데 어떻게 Glide를 내 목록보기에 구현할 수 있습니까?

분류에서Dev

Excel vba를 사용하여 HTML에서 이미지를 표시하십시오.

분류에서Dev

에코를 사용하여 내 페이지에 이미지 표시

분류에서Dev

MVC를 사용하여 div에 이미지를 표시하는 방법

분류에서Dev

CarrierWave를 사용하여 Rails에서 이미지를 표시하는 문제

분류에서Dev

Angular Js를 사용하여 Div에서 이미지를 표시하는 방법

분류에서Dev

PHP를 사용하여 MongoDB에 이미지가 표시되지 않음

분류에서Dev

WKHTMLTOPDF를 사용하여 PDF에 배경 이미지가 표시되지 않음

분류에서Dev

배경 이미지를 사용하여 양식에 오류 아이콘 표시

분류에서Dev

파이 게임에서 클래스를 사용하여 이미지 표시

분류에서Dev

C #에서 imageurl을 사용하여 이미지를 표시하는 방법

분류에서Dev

웹에서 이미지를 가져와 jsoup을 사용하여 ImageView에 표시

분류에서Dev

PHP를 사용하여 브라우저 문제에 이미지 표시

분류에서Dev

마우스 오버를 사용하여 다른 div에 이미지 표시

분류에서Dev

웹에서 이미지 가져 오기 및 Synapse를 사용하여 표시

분류에서Dev

foreach 루프를 사용하여 배열에서 이미지 표시

분류에서Dev

Spring MVC 및 Hibernate를 사용하여 JSP에 jpg 이미지 목록 표시

분류에서Dev

Django의 FileField를 사용하여 Admin에서 이미지 업로드 표시

분류에서Dev

RecyclerView에서 Firebase 저장소를 사용하여 여러 사용자의 이미지를 표시하는 방법

Related 관련 기사

  1. 1

    Android Q에서 Glide를 사용하여 "content : //"체계를 사용하여 URI의 이미지 표시

  2. 2

    Android 7 이상에서 Glide를 사용하여 URL로 조각 ImageView에 GIF 이미지 표시

  3. 3

    FreeMarker를 사용하여 Liferay 테마에 이미지 표시

  4. 4

    FreeMarker를 사용하여 Liferay 테마에 이미지 표시

  5. 5

    TCPDF를 사용하여 PDF 헤더에 이미지 표시

  6. 6

    Bash를 사용하여 루프에 이미지 표시

  7. 7

    AsyncTask를 사용하여 Listview에 이미지 표시

  8. 8

    Android에서 서버의 이미지를 Glide로 표시하는 방법

  9. 9

    Glide를 사용하여 MenuItem에서 원격 이미지로드

  10. 10

    Android에서 Glide를 사용하여 이미지로드

  11. 11

    Android Studio에서 이미지 표시에 Glide를 사용하는데 어떻게 Glide를 내 목록보기에 구현할 수 있습니까?

  12. 12

    Excel vba를 사용하여 HTML에서 이미지를 표시하십시오.

  13. 13

    에코를 사용하여 내 페이지에 이미지 표시

  14. 14

    MVC를 사용하여 div에 이미지를 표시하는 방법

  15. 15

    CarrierWave를 사용하여 Rails에서 이미지를 표시하는 문제

  16. 16

    Angular Js를 사용하여 Div에서 이미지를 표시하는 방법

  17. 17

    PHP를 사용하여 MongoDB에 이미지가 표시되지 않음

  18. 18

    WKHTMLTOPDF를 사용하여 PDF에 배경 이미지가 표시되지 않음

  19. 19

    배경 이미지를 사용하여 양식에 오류 아이콘 표시

  20. 20

    파이 게임에서 클래스를 사용하여 이미지 표시

  21. 21

    C #에서 imageurl을 사용하여 이미지를 표시하는 방법

  22. 22

    웹에서 이미지를 가져와 jsoup을 사용하여 ImageView에 표시

  23. 23

    PHP를 사용하여 브라우저 문제에 이미지 표시

  24. 24

    마우스 오버를 사용하여 다른 div에 이미지 표시

  25. 25

    웹에서 이미지 가져 오기 및 Synapse를 사용하여 표시

  26. 26

    foreach 루프를 사용하여 배열에서 이미지 표시

  27. 27

    Spring MVC 및 Hibernate를 사용하여 JSP에 jpg 이미지 목록 표시

  28. 28

    Django의 FileField를 사용하여 Admin에서 이미지 업로드 표시

  29. 29

    RecyclerView에서 Firebase 저장소를 사용하여 여러 사용자의 이미지를 표시하는 방법

뜨겁다태그

보관