使用imageview滚动宽图像(Android)

时间:2014-08-14 00:31:27

标签: android android-activity imageview scrollview

我一直试图获得一个大图像(10345x1280像素)以适应我的Android屏幕(在横向模式下)基本上我希望1280px尺寸适合屏幕的高度,我想要更长的尺寸可以从左向右滚动。

我一直在使用各种方法,但由于滚动不起作用或图像没有正确缩放,所以运气不好。现在我试图在滚动视图中使用图像视图,主要问题是在滚动视图中嵌入图像视图会影响图像的缩放。附带的照片显示了在滚动视图中嵌入imageview之前和之后的比较。

第一张图片是我想用滚动实现的理想图片,所以如果有人知道最好的方法,我真的很感激。

由于

http://i.imgur.com/OWkPNqp.png http://i.imgur.com/YGIdEY1.png

编辑:我对xml代码进行了一些调整,我还调整了我的图像大小为400(所以它现在是3233x400)。图片现在在屏幕上更合适,但仍然不完美,它向上/向下滚动但不是向左我需要它......必须有一种方法来正确适合图像,以便高度填满屏幕在所有设备类型上?

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#0099cc"
    tools:context=".FullscreenActivity"
    android:nestedScrollingEnabled="true">

    <!-- The primary full-screen view. This can be replaced with whatever view
         is needed to present your content, e.g. VideoView, SurfaceView,
         TextureView, etc. -->
    <TextView android:id="@+id/fullscreen_content"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:keepScreenOn="true"
        android:textColor="#33b5e5"
        android:textStyle="bold"
        android:textSize="50sp"
        android:gravity="center"
        android:text="@string/dummy_content" />

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

        <LinearLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            xmlns:tools="http://schemas.android.com/tools"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_marginTop="0dp"
            tools:context=".HelpActivity"
            android:layout_gravity="center">

            <ImageView
                android:id="@+id/imageHelp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:scaleType="centerCrop"
                android:layout_marginTop="0dp"
                android:src="@drawable/fretz" />
        </LinearLayout>
    </ScrollView>

</FrameLayout>

1 个答案:

答案 0 :(得分:4)

你的布局中有很多问题,首先是ScrollView中的所有嵌套布局a LinearLayout只保存不必要的ImageView,同时ScrollView会自动滚动图像的垂直轴而不是横轴考虑使用符合您需求的HorizontalScrollView

我使用HorizontalScrollView重新制作您的布局,以便滚动水平,这非常有效:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#0099cc"
    tools:context=".FullscreenActivity" >

    <TextView
        android:id="@+id/fullscreen_content"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:keepScreenOn="true"
        android:text="SAMPLE"
        android:textColor="#33b5e5"
        android:textSize="50sp"
        android:textStyle="bold" />

    <HorizontalScrollView
        android:layout_width="500dp"
        android:layout_height="fill_parent"
        android:layout_marginTop="0dp" >


            <ImageView
                android:id="@+id/imageHelp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:background="@drawable/lal" />
    </HorizontalScrollView>

</FrameLayout>