2014-02-27 99 views
0

我有我的佈局2 imageview的,我這樣定義如何設置ImageView的大小

<ImageView 
    android:id="@+id/image1" 
    android:layout_width="320dp" 
    android:layout_height="200dp" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:src="@drawable/image1" 
    android:contentDescription="@string/image1" /> 

<ImageView 
    android:id="@+id/image2" 
    android:layout_width="320dp" 
    android:layout_height="220dp" 
    android:layout_alignLeft="@+id/image1" 
    android:layout_alignParentBottom="true" 
    android:src="@drawable/image2" 
    android:contentDescription="@string/image2" /> 

在它工作正常的emulater,但是當我測試應用程序在平板電腦上ramain 320x220的圖像。 我如何確定圖像大小?

+0

請澄清的問題是什麼 – Henry

回答

3

的原因是因爲許多片劑具有相同的密度電話(MDPI,xhdpi),所以dp單元解析爲相同數量的像素的。將您的圖像大小設置爲dimens資源,您可以控制不同的最小屏幕尺寸。換句話說:

RES /佈局/ your_layout.xml

<ImageView 
    android:id="@+id/image1" 
    android:layout_width="@dimen/image_width" 
    android:layout_height="@dimen/image_height" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentTop="true" 
    android:src="@drawable/image1" 
    android:contentDescription="@string/image1" /> 

RES /值/ dimens.xml

<resources> 
    <dimen name="image_width">320dp</dimen> 
    <dimen name="image_height">200dp</dimen> 
</resources> 

RES /值-sw600dp/dimens.xml

<resources> 
    <dimen name="image_width">640dp</dimen> 
    <dimen name="image_height">400dp</dimen> 
</resources> 

較大的值將在與用於其他地方作爲默認的爲600dp或更大的最小寬度(平均7" 片劑)和更小的值的屏幕被使用。如果您想添加更多離散更改,則可以創建其他dimens以覆蓋特定用例中的默​​認值。

+0

並與大屏智能手機 – user3293120

+0

補充的嗎?就像你認爲在圖像「dp」大小應該改變時你需要滿足的許多不同的定義一樣,這只是一個例子。 – Devunwired

0

爲了增加Devunwired回答,您還必須添加res/values-sw720dp/dimens.xml 10" 設備,這樣你應該有三:。

res/values/dimens.xml (standard screen) 

res/values-sw600dp/dimens.xml (7" devices) 

res/values-sw720dp/dimens.xml (10" devices)