不同分辨率XML中的缩放图像

时间:2013-07-25 04:41:01

标签: android xml scaling resolutions

我创建了4个分辨率文件夹,并将相应的图像尺寸放入每个文件夹中,如下图所示:

enter image description here

我还为各种屏幕尺寸创建了8个不同的布局文件夹,如下图所示:

enter image description here

如下图所示,我需要根据XML文件重新调整每个图像的大小,以便填充屏幕:

enter image description here

我使用此代码缩小图像,工作正常:

android:adjustViewBounds="true"  
    android:maxWidth="150dp" 
    android:scaleType="fitCenter"

但我无法弄清楚如何放大图像。我一直在尝试使用这段代码:

android:adjustViewBounds="true"  
    android:minWidth="150dp" 
    android:scaleType="fitCenter"

有关如何放大图像的任何想法?谢谢!!

XML:

    <ImageButton
    android:id="@+id/btnPlay"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_below="@+id/imageView1"
    android:layout_marginTop="15dp"
    android:background="@null"
    android:src="@drawable/btn_play"
    android:adjustViewBounds="true"  
    android:scaleX="1.5"
    android:scaleY="1.5"
    android:scaleType="fitXY"  />

3 个答案:

答案 0 :(得分:6)

你试过吗?:

android:scaleX="1.5" // 1 is 100% size
android:scaleY="1.5"

答案 1 :(得分:1)

尝试 android:scaleType="fitXY" 而不是 android:scaleType="fitCenter"

修改

LinearLayout

使用layout_weight and weightSum

喜欢根据您的WeighSum调整layout_weightUI

 <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:weightSum="8" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="3" >

        <!-- your Match m Image -->
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="2"
        android:background="#fff" >

        <!-- your play image -->
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" >

        <!-- your Multiplayer image -->
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" >

        <!-- your High score Image -->
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" >

        <!-- your how to play Image -->
    </LinearLayout>
</LinearLayout>

答案 2 :(得分:0)

您应使用新的尺寸限定符。这是最好的方式。你所做的并没有错,但是有这么多不同种类的设备它已经过时了。请参阅this