如何在不推荐使用的Gallery中的Horizo​​ntalScrollView中制作中心锁定图像?

时间:2012-11-21 10:36:23

标签: android android-layout horizontalscrollview

我在Horizo​​ntalScrollView中有LinearLayout。

 <?xml version="1.0" encoding="utf-8"?>
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/hsv"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <LinearLayout
        android:id="@+id/mygallery"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:orientation="horizontal" >
    </LinearLayout>

</HorizontalScrollView>

在LinearLayout中,我按以下方式加载图片:

myGallery = (LinearLayout) findViewById(R.id.mygallery);
for (int i = 1; i <= 5; i++) {
    ImageView iv = new ImageView(getApplicationContext());
    iv.setLayoutParams(new LayoutParams(screenWidth,LayoutParams.WRAP_CONTENT));
    iv.setImageBitmap(decodeSampledBitmapFromResource(getResources(),getResources().getIdentifier("pic0" + i, "drawable",getPackageName()), screenWidth, screenHeight));
    myGallery.addView(iv);

当用户滚动图像时,我需要锁定居中的图像(如Gallery

2 个答案:

答案 0 :(得分:0)

您应该使用smoothScrollTo(x,y),这样图像就会锁定在正确的位置。 X和Y应手动计算。

答案 1 :(得分:0)

这是我的解决方案: 1.创建自定义视图

    <com.shouhu.angel.view.CenteringHorizontalScrollView

    android:id="@+id/horizontalScrollView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@mipmap/tool_f_top_bg"
    android:scrollbars="none">

    <LinearLayout
        android:id="@+id/tools_top"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_vertical"
        android:gravity="center"
        android:orientation="horizontal">

    </LinearLayout>
</com.shouhu.angel.view.CenteringHorizontalScrollView>

2.在活动/片段中

{{1}}

3.在xml中

{{1}}