2012-11-27 250 views
3

我有一個特定的佈局,我想實現,但我無法弄清楚如何使它在多種屏幕尺寸下穩健工作。Android將ImageView大小調整爲屏幕大小

關鍵的想法是,TextViews中的信息很重要,ImageView是裝飾性的。我希望根據用戶屏幕大小(最大尺寸)調整ImageView的大小。此外,我希望所有元素保持組合在一起,以便它們在大屏幕上不顯示稀疏。我寧願在xml中找到解決方案,但我願意接受任何可以完成這項工作的任何解決方案。

這裏是我後我(我不能在這裏發表圖片還):

在小屏幕上ImageView的收縮:

https://dl.dropbox.com/u/29549935/small_screen.png

在大屏幕上的ImageView滿足最大值(應該通過自動縮放)進行處理,並且內容在屏幕的中心放在一起:

https://dl.dropbox.com/u/29549935/large_screen.png

我嘗試了很多我認爲應該有效的選項,例如,下面的代碼將textview相對於imageview定位,所有這些選項都組合在一個相關佈局中。這種運作良好,在大屏幕上,但是在小屏幕上textviews由ImageView的推出方式:

<RelativeLayout 
    android:id="@+id/container1" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:layout_alignParentTop="true" 
    android:orientation="vertical" > 

    <RelativeLayout 
     android:id="@+id/container2" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_centerInParent="true" 
     android:orientation="vertical"> 

     <TextView 
      android:id="@+id/textview1" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_centerHorizontal="true" 
      android:layout_above="@+id/imageview1" 
      android:gravity="center_horizontal" 
      android:text="@string/textview1" /> 

     <ImageView 
      android:id="@+id/imageview1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerHorizontal="true" 
      android:layout_centerInParent="true" 
      android:gravity="center_horizontal" 
      android:adjustViewBounds="true" 
      android:maxHeight="256dp" 
      android:maxWidth="256dp" 
      android:minHeight="100dp" 
      android:minWidth="100dp" 
      android:scaleType="centerInside" 
      android:src="@drawable/mydrawable" /> 

     <TextView 
      android:id="@+id/textview2" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/imageview1" 

      android:gravity="center_horizontal" 
      android:text="@string/textview2" /> 

     <TextView 
      android:id="@+id/textview3" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/textview2" 
      android:gravity="center_horizontal" 
      android:text="@string/textview3"/> 
    </RelativeLayout> 
</RelativeLayout> 

這似乎是這樣,如果它規定可以工作了ImageView的可佔用的比例相關佈局。

任何幫助非常歡迎。提前致謝。

回答

1

對於你必須創建單獨的屏幕分辨率的圖片,並把它放在繪製,LDPI,繪製,MDPI,繪製,華電國際,繪製,xhdpi文件夾....',如

drawable-ldpi - Low dpi (Low size screen Resolution) 

drawable-mdpi - Medium dpi (Medium size screen Resolution) 

drawable-hdpi - High dpi, (large size screen Resolution) 

drawable-xhdpi - Extended High dpi (For tablest and wide screen) 

而且你也應該採取的圖像

multiple screen support

Sample App and ABout density etc ...

密度的護理