2010-11-24 34 views
59
最大寬度和高度的ImageView

所以,我有一個ImageView的集合與Android中

android:maxHeight="100px" 
android:maxWidth="250px" 
android:minHeight="100px" 
android:minWidth="250px" 
android:scaleType="centerInside" 

該圖像視圖用於顯示從畫廊或照相機獲得的圖象。在這兩種情況下,圖像都不會調整大小以適應imageview內部,它只是根據需要擴展其空間。

任何想法如何讓它留在這些界限內?

<?xml version="1.0" encoding="utf-8"?> 

<EditText 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent" 
    android:id="@+id/txtDescription" 
    android:layout_below="@+id/txtSubject" 
    android:inputType="textMultiLine" 
    android:height="80px" 
    android:hint="@string/description"></EditText> 

<EditText 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/txtDescription" 
    android:layout_width="fill_parent" 
    android:id="@+id/txtMorada" 
    android:hint="@string/address" /> 

<ImageButton 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:layout_below="@+id/txtMorada" 
    android:id="@+id/btGPS" 
    android:layout_alignParentLeft="true" 
    android:src="@drawable/ic_menu_compass"></ImageButton> 

<ImageView 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:layout_below="@+id/btGPS" 
    android:layout_marginTop="25px" 
    android:id="@+id/imgPoint" 
    android:src="@drawable/google_logo_small" 
    android:maxHeight="100px" 
    android:maxWidth="250px" 
    android:minHeight="100px" 
    android:minWidth="250px" 
    android:scaleType="centerInside"></ImageView> 

<ImageButton 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:layout_toRightOf="@+id/imgPoint" 
    android:id="@+id/btGallery" 
    android:layout_below="@+id/btCamera" 
    android:src="@drawable/ic_menu_gallery" 
    android:layout_alignParentRight="true"></ImageButton> 

<Button 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent" 
    android:layout_marginTop="10px" 
    android:id="@+id/btSubmit" 
    android:layout_below="@+id/btGallery" 
    android:text="@string/submit"></Button> 

<ImageButton 
    android:layout_height="wrap_content" 
    android:id="@+id/btMap" 
    android:layout_below="@+id/txtMorada" 
    android:layout_width="wrap_content" 
    android:layout_alignParentRight="true" 
    android:src="@drawable/ic_menu_mapmode"></ImageButton> 

<TextView 
    android:layout_below="@+id/txtMorada" 
    android:layout_width="wrap_content" 
    android:layout_toLeftOf="@+id/btMap" 
    android:layout_height="wrap_content" 
    android:id="@+id/lblNewPointLatitude" 
    android:text="Latitude"></TextView> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_toLeftOf="@+id/btMap" 
    android:layout_height="wrap_content" 
    android:id="@+id/lblNewPointLongitude" 
    android:layout_below="@+id/lblNewPointLatitude" 
    android:text="Longitude"></TextView> 

<ImageButton 
    android:layout_below="@+id/btMap" 
    android:layout_height="wrap_content" 
    android:layout_width="wrap_content" 
    android:layout_toRightOf="@+is/imgPoint" 
    android:id="@+id/btCamera" 
    android:layout_marginTop="25px" 
    android:src="@drawable/ic_menu_camera" 
    android:layout_alignParentRight="true"></ImageButton> 

<Spinner 
    android:layout_height="wrap_content" 
    android:id="@+id/spCategoria" 
    android:layout_width="fill_parent" 
    android:prompt="@string/spCategoriaPrompt"></Spinner> 

<Spinner 
    android:layout_height="wrap_content" 
    android:id="@+id/spSubcategoria" 
    android:layout_below="@+id/spCategoria" 
    android:layout_width="fill_parent" 
    android:prompt="@string/spSubcategoriaPrompt"></Spinner> 

<EditText 
    android:layout_height="wrap_content" 
    android:layout_below="@+id/spSubcategoria" 
    android:layout_width="fill_parent" 
    android:id="@+id/txtSubject" 
    android:hint="@string/subject"></EditText> 

    </RelativeLayout> 
</ScrollView> 
+1

什麼是佈局周邊的ImageView的?你能發佈一個更大的XML片段嗎? – 2010-11-24 18:53:47

+1

你真的應該在你的XML中添加帶縮進的換行符。這是不可讀的。我注意到的一件事是在btCamera TextView中:你的layout_toRightOf說`@ + is`而不是`@ + id`。這當然不是你的主要問題,但它會影響你的佈局。 – kcoppock 2010-11-24 19:28:38

+0

[Android imageview不尊重maxWidth?]的可能的重複(http://stackoverflow.com/questions/3530328/android-imageview-not-respecting-maxwidth) – 2015-07-07 07:38:44

回答

8

指出,你有兩個layout_widthlayout_height設置爲wrap_content,除了設置寬度和高度明確的價值不應該被設置爲wrap_content。相反,您應該將layout_width和layout_height設置爲某個數字值。另外,使用dp而不是px。見supporting multiple screen sizes

0

嘗試包括這樣的:xmlns:android="http://schemas.android.com/apk/res/android" 例子:

<ImageView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/imageView" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:maxHeight="400dp" 
    android:adjustViewBounds="true" 
    android:focusable="true" 
    android:focusableInTouchMode="true" 
    android:src="@drawable/background_img" 
    />