Skip to content

Latest commit

 

History

History
126 lines (86 loc) · 4.29 KB

README-sv.md

File metadata and controls

126 lines (86 loc) · 4.29 KB

Coil

Ett bildladdningsbibliotek för Android med stöd för Kotlin Coroutines. Coil är:

  • Snabbt: Coil utför ett antal optimeringar inklusive minne och diskcache, nedsampling av bilden i minnet, automatisk paus/avbryt förfrågningar och mer.
  • Effektivt och optimerat: Coil lägger till ~2000 metoder till din APK (för appar som redan använder OkHttp och Coroutines), vilket är jämförbart med Picasso och betydligt mindre än Glide och Fresco.
  • Enkelt att använda: Coils API utnyttjar Kotlins språkfunktioner för enkelhet och minimal boilerplate kod.
  • Modernt: Coil är skapat för Kotlin i första hand och använder moderna bibliotek inklusive Coroutines, OkHttp, Okio och AndroidX Lifecycles.

Coil är en förkortning för: Coroutine Image Loader.

Översättningar: 한국어, 中文, Türkçe, 日本語, Svenska

Hämta

Coil finns att ladda ned från mavenCentral().

implementation("io.coil-kt:coil:2.6.0")

Snabbstartsguide

ImageViews

För att ladda in en bild i en ImageView, använd förlängningsfunktionen load:

// URL
imageView.load("https://example.com/image.jpg")

// Fil
imageView.load(File("/path/to/image.jpg"))

// Och mer...

Förfrågningar kan konfigureras med en valfri släpande lambda:

imageView.load("https://example.com/image.jpg") {
    crossfade(true)
    placeholder(R.drawable.image)
    transformations(CircleCropTransformation())
}

Jetpack Compose

Importera Jetpack Compose-förlängningsbiblioteket:

implementation("io.coil-kt:coil-compose:2.6.0")

För att ladda in en bild, använd en AsyncImage composable:

AsyncImage(
    model = "https://example.com/image.jpg",
    contentDescription = null,
)

Bildladdare

Både imageView.load och AsyncImage använder singletonobjektet ImageLoader för att genomföra bildförfrågningar. Singletonobjektet ImageLoader kan kommas åt genom att använda en förlängningsfunktion för Context:

val imageLoader = context.imageLoader

ImageLoaders är designade för att vara delbara och är mest effektiva när du skapar en enda instans och delar den i hela appen. Med det sagt, kan du även skapa din(a) egna instans(er) av ImageLoader:

val imageLoader = ImageLoader(context)

Om du inte vill använda singletonobjektet ImageLoader, använd artefakten io.coil-kt:coil-base istället för io.coil-kt:coil.

Förfrågningar

För att ladda en bild till ett anpassat mål, använd metoden enqueue på en instans av klassen ImageRequest:

val request = ImageRequest.Builder(context)
    .data("https://example.com/image.jpg")
    .target { drawable ->
        // Handle the result.
    }
    .build()
val disposable = imageLoader.enqueue(request)

För att ladda en bild imperativt, använd metoden execute på en instans av klassen ImageRequest:

val request = ImageRequest.Builder(context)
    .data("https://example.com/image.jpg")
    .build()
val drawable = imageLoader.execute(request).drawable

Kolla in Coils fullständiga dokumentation här.

R8 / Proguard

Coil är fullt kompatibel med R8 och kräver inga särskilda extra regler.

Om du använder Proguard kan du behöva lägga till regler för Coroutines och OkHttp.

Licens

Copyright 2023 Coil Contributors

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.