2012-11-03 33 views
1

我遇到了摩托羅拉Defy Plus設備出現的奇怪問題。ImageView在摩托羅拉Defy上是黑色的

我得到了一個簡單的佈局,包含一個包含ImageView的TabHost作爲其內部所有選項卡的背景圖像。

由於一些奇怪的原因,特別是在摩托羅拉Defy的ImageView顯示爲黑色!但在我測試過的所有其他設備上,它的效果非常好! (三星Galaxy SII,Galaxy Mini,Nexus 7)

該圖像是一個普通的.jpg文件,重量爲102KB,其大小爲1330X1774。它駐留在res \ drawable文件夾中。它的名字是 - 「blurtest_cropped2.jpg」

的.XML佈局文件如下: -

<TabHost xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@android:id/tabhost" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 
    <ImageView 
      android:id ="@+id/main_background_imageview" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:src="@drawable/blurtest_cropped2" 
      android:scaleType="centerCrop" 
      /> 
    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" > 
     <TabWidget 
      android:id="@android:id/tabs" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" /> 
     <!-- Required for TabWidget --> 
     <FrameLayout 
      android:id="@android:id/tabcontent" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" /> 
    </LinearLayout> 
</TabHost> 

謝謝!

回答

4

摩托羅拉Defy的圖像分辨率可能太高。如果您不想降低其他設備的分辨率,只需將較低分辨率的圖像放在較小/低密度屏幕的可繪製文件夾中即可。

我剛剛在華爲Ideos X5上遇到類似問題。我在同一個屏幕上有兩個ImageViews,一個很好,另一個是黑色的。我注意到,違抗圖像的分辨率明顯高於其他圖像。在降低了所述圖像的分辨率後,果然,這個挑釁的圖像不會再違抗我了。

*對不起,我很喜歡用'Defy'這個詞。

+1

你是對的。問題是由於圖像太大而無法加載。此外,由於圖像尺寸太大,甚至導致其他設備崩潰(OutOfMemoryException)。我降低了圖像大小,並且還根據需要使用本指南降低了圖像大小。 http://developer.android.com/training/displaying-bitmaps/load-bitmap.html – Dror