리소스 ID는 리소스 폴더 (/res
) 안의 파일에 대해서만 Android에서 자동 생성됩니다. 그 폴더에서 "리소스 ID"라는 것이 없습니다.
일부 Android 구성 요소 (예 : View
) 에는 ID가 있으며 수동으로 설정할 수 있습니다. 그러나 수동으로 설정된 ID는 R.java
안에 포함되어 있지 않습니다. 이는 Android에서 생성 한 리소스 ID 모음입니다.
그러나 생성 된 이미지에는 ID가 없기 때문에 사전에 존재하지 않는 것을 얻는 것은 불가능합니다. 라이브러리에 관한
이
, 자원 ID없이 소스의 이미지를 설정하는 또 다른 기능이있다 : 안드로이드 SDK에 포함되어있는 Movie
클래스보고 지금
public void setMovie(Movie movie) {
this.mMovie = movie;
requestLayout();
}
, 다른 기능이 있습니다 소스를 디코딩하려면 decodeByteArray()
및 decodeFile()
. decodeByteArray()
은 바이트 배열을 허용하고 decodeFile()
은 파일 경로를 허용합니다.이 경로는 파일의 전체 경로가있는 경우 사용할 수 있습니다.
Bitmap
을 바이트 배열로 변환 할 수 있지만 Bitmap
이 GIF 이미지의 다중 레이어/애니메이션을 지원하는지 여부는 확실하지 않으므로 첫 번째 방법은 피할 것입니다. 그래서 기본적으로 내가 (내 응용 프로그램에 의해 생성되는) GIF 내 sdcard에 저장이
을
는(위의 코드는 아직 테스트되지 않음) : 대신에, 당신이 시도 할 수 있습니다. 그 gif를 내 뷰어에로드하려고합니다. 이를 위해 저는 https://github.com/sbakhtiarov/gif-movie-view/blob/master/src/com/basv/gifmoviewview/widget/GifMovieView.java를 사용하고 있습니다. 그리고 setMovieResource는 int (resId)를 기대합니다. 하지만 비트 맵, 절대 경로 같은 다른 모든 정보가 있습니다. – Achayan
@Achayan 답변을 업데이트했습니다. 코드를 테스트하지는 않았지만 아이디어를 제공해야합니다. –
Thanks man much much – Achayan