README sv
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()
.
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:
För att ladda in en bild, använd en AsyncImage
composable:
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
:
ImageLoader
s ä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
:
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 2024 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.