[英]How to Set Background Image from asset folder in android?
我從資產文件夾設置LinearLayout的backGround圖像時遇到問題。
String filePath="file:///android_asset/images/test.png";
Drawable d = Drawable.createFromPath(filePath);
frontTextView.setBackgroundDrawable(d);
有人可以幫我嗎。
好吧,萬一其他人偶然發現這個問題,你想要從資產中的圖像設置視圖的背景:
Drawable d = Drawable.createFromStream(getAssets().open(path_in_assets), null);
然后將其設置為僅支持Drawables作為背景的視圖。
據我所知, 你不能像你想要的那樣直接訪問資產 。 如果要將其存儲為資產,則需要使用AssetManager類來獲取數據。 這是一篇相當不錯的博客文章,解釋了一些資源和資產,當然官方文檔也是一個很好的資源。
不過,我還要補充說,像背景圖像這樣的東西通常最好存儲在res/drawable
並使用R.drawable.*
樣式訪問(上面鏈接的博客文章也會討論這個)。 現在還不清楚為什么你需要從你提供的代碼示例中這樣做,所以我想這最終是你的調用。
編輯:從InputStream添加創建圖像...
我使用ImageButton遇到了類似的問題。 我通過從資源加載位圖並將其用作ImageButton的圖像來計算出來。 可能不是一個好的方法,但正在工作並解決了我的問題 - 無法在drawable dir中使用子文件夾而且文件名中不允許使用字符。
(是的,我可以使用前綴而不是subdir,並重命名文件以匹配模式(僅限小寫和數字),我可能會在以后執行。)
InputStream is = null;
try {
is = this.getResources().getAssets().open("Images/Fruits/Apple.png");
} catch (IOException e) {
Log.w("EL", e);
}
Bitmap image = BitmapFactory.decodeStream(is);
ImageButton ib2 = (ImageButton) findViewById( R.id.imageButton2);
ib2.setImageBitmap( image);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.