在Android中缩放图像不能正常工作

时间:2012-07-26 00:05:24

标签: java android xml eclipse imageview

我有一个很长的垂直图像(224x1600)。我希望它适合图像宽度,并垂直滚动。它需要是可滚动的。我已经尝试了一切,但无法让它发挥作用:\

这就是我所拥有的

<ScrollView
                xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent" >

                <LinearLayout
                    android1:id="@+id/tab3"
                    android1:layout_width="fill_parent"
                    android1:layout_height="fill_parent" >

                    <ImageView
                        android:id="@+id/imageView1"
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        android:src="@drawable/tiles" />
                </LinearLayout>
            </ScrollView>

第二个问题是:有没有办法防止图像缩放?图像是224x1632,并在我的星系连接上显示。在Nexus 7(更大的屏幕,但DP更低),它到199x1440。奇怪的缩放率为88%。我可以阻止这个吗?我需要它在所有机器上显示224x1632并相应地缩放宽度。

非常感谢!

2 个答案:

答案 0 :(得分:0)

它应该有效...我认为问题是你有android1:而且它被认为是android:

类似的东西:

<?xml version="1.0" encoding="utf-8"?>
<ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/tab3"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <ImageView
           android:id="@+id/imageView1"
           android:layout_width="fill_parent"
           android:layout_height="fill_parent"
           android:src="@drawable/tiles" />

    </LinearLayout>
</ScrollView>

关于第二个问题,您可以尝试使用android:minWidth=""android:minHeight=""来查看是否能解决您的问题。

编辑:尝试android:scaleType="fitCenter"它会按原样显示图片。

希望有所帮助。

答案 1 :(得分:0)

如果您需要完全避免缩放,则应将drawable放在res/drawable-nodpi文件夹中。请记住,不同密度的设备的物理尺寸会有很大不同,但只要您了解风险,那就是您应该采用的解决方案。

关于你的第一个问题,我倾向于认为你需要在代码中做一些手工工作,但是虽然我现在无法测试,但这也可能有效:

<ScrollView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:src="@drawable/tiles"
        />
</ScrollView>

试一试,让我知道它是怎么回事。