2012-08-25 45 views
0

我試圖做一個幻燈片放映應用程序,但無法弄清楚如何讓圖片顯示在後臺。這就是我要做的事Android:試圖做一個簡單的幻燈片應用程序

我打算使用LinearLayout的背景屬性。 的問題是,setBackgound發生在一個RESOURCEID,

根據以往的經驗,你不能有很多存儲爲resoucrs圖像, 所以我打算將它們存儲在資源文件夾,並加載它們使用以下代碼

try { 
       String FileName=new String("background"); 
       AssetManager assetManager= getAssets(); 
       InputStream inputStream; 
       inputStream=assetManager.open(FileName); 
       Bitmap Background=BitmapFactory.decodeStream(inputStream); 

       } catch(IOException e) 
       { 

有沒有辦法將資產加載到背景屬性?

我以前使用過ImageView,但我希望圖像在背景中,因此我可以繪製圖像的頂部控件。我在其他圖庫程序中看到了這一點。

有沒有人現在可以從資產中加載圖片並將它們放在背景中,並且控件位於頂部,或者使用其他方法來實現?

+0

謝謝你的幫助。我得到它的工作,但必須使用setbackground的.setBackgroundDrawable instad。現在,當圖片伸出以填充視圖時,圖片會變形。 –

回答

0

你必須使用View.setBackground(Drawable)http://developer.android.com/reference/android/view/View.html#setBackground(android.graphics.drawable.Drawable)) 一旦你從資產加載了一個位圖,您可以創建BitmapDrawable並將其傳遞給方法同上。

正如下面的評論者注意到的那樣,您必須使用現在更新的setBackgroundDrawable才能與舊版android版本兼容。

+0

正確的想法,但'setBackground(Drawable)'實際上是由'View'而不是'ViewGroup'暴露的。此外,該方法僅適用於API 16以上版本 - 爲了支持較舊的API版本,應該使用setBackgroundDrawable(Drawable)(儘管現在已被棄用)。 – Squonk