我的Android應用程序目前有兩個佈局,其初始屏幕,肖像和風景。都使用相同的簡單的格式 - 這是尺寸爲屏幕相同的圖像,在一個簡單的線性佈局保持:Android佈局和自動圖像調整
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scaleType="fitCenter"
android:src="@drawable/splash_p"
/>
</LinearLayout>
使用的圖像是320瓦特X 480H和Android自動調整以適合在屏幕上,而不管設備的屏幕大小。顯然,例如,在爲平板電腦調整尺寸時,圖像不夠銳利。
我在這裏應該指出,我的目標是儘可能減少最終應用程序的安裝大小,並且我知道我可以爲每個不同的屏幕大小包含不同的佈局和大小相同的圖像。
我的啓動畫面由屏幕頂部三分之一處的應用程序名稱組成,然後是屏幕底部三分之二處的圖像。爲了節省內存,我希望將應用程序名稱和圖像裁剪爲兩個獨立的圖像,然後以縱向模式以縱向佈局顯示這些圖像。然後,我將使用圖像的線性水平佈局,然後使用橫向模式的應用程序名稱。
對於縱向佈局我有這樣的:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical">
<LinearLayout android:id="@+id/linearLayout1" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical">
<View android:layout_height="45dp" android:layout_width="45dp" />
<ImageView android:layout_height="fill_parent"
android:src="@drawable/splashtext"
android:scaleType="fitCenter"
android:layout_gravity="center"
android:layout_width="fill_parent"></ImageView>
<View
android:layout_height="35dp"
android:layout_width="35dp" />
<ImageView
android:scaleType="fitCenter"
android:src="@drawable/splashpic"
android:layout_height="fill_parent" android:scaleType="fitCenter" android:layout_width="fill_parent" android:layout_gravity="center"/>
</LinearLayout>
</LinearLayout>
當我顯示日食上面,它看起來不錯的智能手機,但在平板電腦上顯示的圖像時,不按比例,雖然我正在使用android:scaleType =「fitCenter」參數。我試過在圖像視圖layout_width和layout_height中使用傾斜而不是fill_parent,但是這也不起作用。
我在做什麼錯?有沒有另一種方法來做到這一點?
感謝
我編輯的問題,包括基於@ KaHa6u的幫助之下修訂後的XML。所以現在我有:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<LinearLayout android:id="@+id/linearLayout1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<View
android:layout_height="15dp"
android:layout_width="15dp"
/>
<ImageView android:layout_height="wrap_content"
android:src="@drawable/splashtext"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:layout_gravity="center"
android:layout_width="wrap_content"
android:layout_weight="1">
</ImageView>
<View
android:layout_height="15dp"
android:layout_width="15dp"
/>
<ImageView
android:scaleType="fitXY"
android:src="@drawable/splashpic"
android:adjustViewBounds="false"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:layout_weight="4"
android:layout_gravity="center"/>
</LinearLayout>
</LinearLayout>
垂直地向上擴展,而不是水平,所以我結束了高高瘦瘦的圖像屏幕尺寸的增大時。
感謝@ KaHa6uc。我已經改變它適合XY,並使用adjustViewBounds也。現在屏幕可以垂直放大,但不是水平放大。我編輯了我的問題以包含修改後的佈局。 有沒有更多的想法任何人? – basinbasin