GIF-изображение Jetpack Coil загружено с localPathAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 GIF-изображение Jetpack Coil загружено с localPath

Сообщение Anonymous »

Я начинаю разработку для Android, особенно для WearOS, поэтому мало что знаю об этом.

Я хотел бы отобразить GIF-файл, но он не загружается из R.drawable.
Насколько я понимаю, чертежи «дорабатываются» в процессе компиляции. Так как мне понадобится МНОГО гифок, загрузить и настроить их плотность одну за другой в загрузчике ResourceManager будет невозможно. Более того, когда количество ресурсов станет большим, я больше не смогу его компилировать.
Посмотрев в Интернете, я смог создать модуль под названием «общий» просто для того, чтобы разместите свои GIF-изображения, и я загрузил туда свои файлы.
общий > scr > основной > активы > папка > sample.gif
дерево файлов проекта
Пока все хорошо, я могу получить доступ к своим статическим изображениям, используя FilePath.
Теперь я хочу отобразить GIF-изображения, но не могу этого сделать.
Код на данный момент:

Код: Выделить всё

@ExperimentalCoilApi
@Composable
fun GifImage(filePath: String, modifier: Modifier = Modifier) {
val inputStream: InputStream = LocalContext.current.assets.open("dex/$filePath").
val bufferedSource = inputStream.source().buffer()
val imageLoader = ImageLoader.Builder(LocalContext.current).build().

var loadingState by remember { mutableStateOf(false) }

val painter = rememberAsyncImagePainter(
imageLoader = imageLoader,
model = ImageRequest.Builder(LocalContext.current)
.data(bufferedSource)
.decoderFactory(
if (Build.VERSION.SDK_INT >= 28) ImageDecoderDecoder.Factory()
else GifDecoder.Factory())
.size(Size.ORIGINAL)
.build(),
onSuccess = {
loadingState = true
}
)

if (loadingState){
Image(
painter = painter,
contentDescription = null
)
} else {
Text("Loading")
}

}
Я также пытался использовать AsyncImage, но безрезультатно.

Если я загрузил свой gif как рисованный, я использую

.data(R.drawable.filename)

он ​​работает, но не с filePath, который раньше работал со статическим изображение (.png)
Скриншот

Подробнее здесь: https://stackoverflow.com/questions/789 ... -localpath
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»