2

In my application I want show image from server into ImageView.
My imageView fill the all of screen and for this I use android:scaleType="centerCrop" .

But when use centerCrop not show all of the image detail?

I want horizontal scroll on imageView automatically (with normal speed) of by user finger.

My XML code :

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

My Full XML code:

    <?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>

My java code for get image from server :

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

How can I horizontal scroll on ImageView? How can I it?

Dear User
  • 93
  • 8

2 Answers2

0

Use a HorizontalScrollView:

<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>
0

You can do something like this

        horizontalScrollView (HorizontalScrollView)findViewById(R.id.horizontal_grid);
    int[] images = new int[]{R.drawable.image1, R.drawable.image2, 
     ....R.drawable.image10};
    LinearLayout sv = (LinearLayout) findViewById (R.id.horizontal_container);
    for (int i=0 ; i<images.length; i++){
        ImageView iv = new ImageView (this);
        LinearLayout.LayoutParams imageViewLayoutParams = new 
        LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,  
        ViewGroup.LayoutParams.MATCH_PARENT);
        iv.setPadding(4,0,0,0);
        iv.setImageResource(images[i]);
        iv.setLayoutParams(imageViewLayoutParams);
        sv.addView(iv);
    }

And your xml should look something like this

    <HorizontalScrollView
    android:id="@+id/horizontal_grid"
    android:layout_width="wrap_content"
    android:layout_height="0dp"
    android:layout_weight="40">
    <LinearLayout
        android:id="@+id/horizontal_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal" >
    </LinearLayout>

</HorizontalScrollView>