簡體   English   中英

如何在android中的資產文件夾中設置背景圖像?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM