2

「子ビュー」を追加した横スクロール ビューを使用しました。しかし、HZスクロールビューでは、子を配置したいのですが、画面全体に一度に3.5の子が表示されるか、画面サイズに応じて4.5、5.5が表示されます。child の半分は、Scroller にさらに子があることを示します。

そのために、密度に応じて子ビューに異なる寸法を使用しました。しかし、それでも彼らは画面の最後に子供全体を表示するデバイスです。

スクロールビューでこれを管理するにはどうすればよいですか。私を正しい方向に導いてください。

ここに画像の説明を入力

4

1 に答える 1

2

そのために、子ビューに異なる寸法を使用しました。密度によって異なります。しかし、それでも彼らは画面の最後に子供全体を表示するいくつかのデバイスです。

これは、多くのデバイスではうまく機能しません。これらのオレンジ色の子ビューがすべて同じ幅であり(それほど重要ではありませんが)、HorizontallScrollView最初にレイアウトされたときにのみ半分を表示したい場合は、ビューにRunnableonCreateメソッドで)投稿するだけで、適切な寸法に幅を設定して、適切な外観を作成します。

public void onCreate(Bundle saved) {
    // ... work   
    horizontalScrollView.post(new Runnable() {

            @Override
            public void run() {
                DisplayMetrics dm = getResources().getDisplayMetrics();
                int screenWidth = dm.widthPixels;
                // based on this width, the space between the children and their
                // widths calculate new widths so you get a half clipped
                // children on the right side.
            }
        });
}

ただし、ユーザーに追加のコンテンツが表示されることを本当に確認したい場合は、これを避けて、(メソッドをHorizontalScrollViewオーバーライドしdispatchDrawてそこに何かを描画する(おそらく後で少し後で非表示にする))にはるかに強力なインジケーターを設定するだけです。 Runnable

于 2013-01-10T09:33:09.727 に答える