2013-04-23 62 views
0

我有同樣的圖像同時在drawable文件夾和drawable-hdpi用不同的名稱(svs.jpg和svs1.jpg)在我的Android應用程序的Android圖像繪製文件夾的問題

首先,我用svs.jpg (可繪製文件夾)

<ImageView 
    android:id="@+id/image1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/svs" 
/> 

在一個系統中運行沒有任何阻礙,但它表明錯誤在另一系統(Inflate exception error二進制XML文件)。所以我使用了圖像svs1.jpg作爲android:background="@drawable/svs1"。現在它工作..

如果我在第一個系統上使用svs1.jpg它顯示錯誤。我無法理解這個問題。有人說爲什麼會發生這種情況?

回答

1

不同資源文件夾中的圖像是爲了獲得相同的名稱,因此設備將選擇要使用的圖像。

如果他們不這樣做,我想有些設備正在'drawable'中查找圖像名稱,如果找不到它,其他設備會查看'device-hdpi'文件夾並崩潰if他們沒有找到它。

有關supporting multiple screen here的更多信息。

+0

你是說,如果我使用10張圖像,我必須將所有10張圖像複製到所有這些可繪製,hdpi,mdpi,ldpi文件夾中? – 2013-04-23 06:58:35

+0

針對不同的屏幕分辨率,您需要提供不同的可繪圖 – Raghunandan 2013-04-23 07:00:57

+0

感謝您的澄清+1 – 2013-04-23 07:10:46

1

看來你真的誤解了這些文件夾的功能。 您的Android將選擇基於其文件夾的屏幕尺寸或設備的像素密度在其中U運行

如果您的設備具有中等像素密度和大屏幕。因此,它會從res文件夾中選擇具有限定符的資源。

res/layout-large/my_layout.xml 

和圖片來自

res/drawable-mdpi/my_icon.png 

你不能告訴你的設備來從華電國際文件夾的圖像,因爲它不具備高像素密度。

所以你給圖像的名稱在所有可繪製的文件夾中相同..你的設備默認情況下決定從哪個文件夾拍攝圖像,你不必擔心tat。

只是確保正確的圖像在正確的文件夾。

+0

感謝您的澄清+1 – 2013-04-23 07:14:18

相關問題