2

次のようにスクロールビューを実装する必要があります。

ここに画像の説明を入力してください

つまり、「アイドル」状態では、画像「1」がフルサイズで表示され、画像「2」が部分的に表示されます(したがって、ユーザーがコンテンツをスクロールできるという手がかりが得られます)。スクロール後、scroolビューは中間状態にとどまらず、スクロールを完了する必要があります(「ページングが有効」がオンになっている場合のiOSのスクロールビューのように)。

ここに画像の説明を入力してください

HorizontalScrollView「ページングが有効」プロパティに似たものがないため、使用を拒否しました。

グーグルした後、私は出くわしandroid.support.v4.view.ViewPagerました。スクロール動作は完全に私が望むものですが、「部分的に表示される」次の画像をサポートする方法がわかりませんViewPager。技術的には、私は何を返す必要があります

public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)?

今のところ、私のコードは

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
    View view = inflater.inflate(R.layout.stage_select_image_layout, container, false);
    ImageView imageView = (ImageView) view.findViewById(R.id.stage_select_image_layout_image);
    imageView.setImageResource(m_imageResourceId);
    return view;
}

しかし、それは私が望むものではなく、「ページごとに正確に1つの画像」の動作をもたらします(最初の図を参照)。

ここに画像の説明を入力してください

4

3 に答える 3

1

これはトリックを行います:

    ViewPager pager = ...;
    pager.setOffscreenPageLimit(2);
    pager.setPageMargin(-200);
于 2012-10-25T10:48:27.273 に答える
1

最も簡単な方法は、PagerAdapterで、getPageWidthのオーバーライドを実装することです。戻り値は、ビューが総スペースを占めるパーセントです。

@Override
public float getPageWidth(int position) {
    return 0.75f;
}
于 2016-03-15T18:28:38.967 に答える
0

ViewPagerのLayoutParamsのwidthFactor属性を使用します。次のページを少し見ることができるように、拡大縮小する必要があります。

于 2012-10-24T17:14:03.370 に答える