java - 如何在 Android 中水平滚动 ImageView?

标签 java android android-imageview android-scroll

在我的应用程序中,我想将来自服务器的图像显示到 ImageView 中。
我的 imageView 填满整个屏幕 为此我使用了 android:scaleType="centerCrop"

但是当使用 centerCrop 时没有显示所有的图像细节?

我想通过用户手指imageView自动(以正常速度)水平滚动。

我的 XML 代码:

<ImageView
    android:id="@+id/wallpaperDetail_img"
    android:layout_width="match_parent"
    android:layout_height="patch_parent"
    android:scaleType="centerCrop" />

我的完整 XML 代码:

    <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".activity.Wallpapers.WallpaperDetailActivity">

    <include
        android:id="@+id/wallpaperDetail_toolbar"
        layout="@layout/toolbar_simple" />

    <HorizontalScrollView
        android:layout_width="match_parent"
        android:layout_below="@id/wallpaperDetail_toolbar"
        android:layout_height="match_parent">

        <ImageView
            android:id="@+id/wallpaperDetail_img"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:scaleType="centerCrop" />
    </HorizontalScrollView>

    <ProgressBar
        android:id="@+id/wallpaperDetail_loader"
        android:layout_width="@dimen/size25"
        android:layout_height="@dimen/size25"
        android:layout_centerInParent="true"
        android:visibility="gone" />

    <io.github.yavski.fabspeeddial.FabSpeedDial
        android:id="@+id/wallpaperDetail_fabMenu"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:visibility="gone"
        app:fabGravity="bottom_end"
        app:fabMenu="@menu/menu_wallpaper_detail"
        app:miniFabBackgroundTintList="@array/fab_menu_item_colors"
        app:fabBackgroundTint="@color/catMenuColor2"
        app:miniFabDrawableTint="@android:color/white"
        app:miniFabTitleTextColorList="@array/fab_menu_item_colors"
        app:touchGuardDrawable="@drawable/background" />

</RelativeLayout>

我从服务器获取图像的 java 代码:

    Glide.with(context)
            .load(imageUrl)
            .asBitmap()
            .diskCacheStrategy(DiskCacheStrategy.SOURCE)
            .into(wallpaperDetail_img);

如何在 ImageView水平滚动?我该怎么办?

最佳答案

使用Horizo​​ntalScrollView:

<HorizontalScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/wallpaperDetail_img"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:scaleType="centerCrop"
        android:src="@drawable/your_image" />
</HorizontalScrollView>

关于java - 如何在 Android 中水平滚动 ImageView?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51906740/

相关文章:

java流逗号分隔

android - 在 android 中创建像 candy crush 一样的动画

android - XposedBridge 崩溃报告,如何解决?

Java 和 MySQL : More than 'max_user_connections' exception

Java http 读取超时问题

Java 双重比较与字符串比较

java - 如何从 Recycler View onClick 缓存 WebView Activity 的多个 URL

android - 如何修复 React Native 最新版本(0.59)中的 'No connected devices!'?

android - ImageView 和 Listview - Android

android - 以编程方式设置 ImageView 的对齐方式