如何在scrollview中显示半项,表示scrollview中有更多产品

时间:2013-01-10 06:35:42

标签: android scrollview

我使用了水平滚动视图,其中添加了“子视图”。但是在HZ滚动视图中我想安排孩子一些想法,整个屏幕一次会显示3.5个孩子或4.5,5.5取决于屏幕尺寸。孩子的一半表明Scroller上有更多的孩子。

为此,我使用不同尺寸的子视图取决于密度。但它们仍然是一些在屏幕尽头显示整个孩子的设备。

所以我怎么能在滚动视图上管理这个。请指导我正确的方向。

enter image description here

1 个答案:

答案 0 :(得分:2)

  

为此,我使用不同尺寸的子视图取决于   密度。但他们仍然是一些显示整个孩子的设备   屏幕尽头。

这在很多设备上都不会有效。 假设那些橙色子视图的宽度都相同(虽然不是那么重要),并且只想在HorizontallScrollView首次布局时显示一半,您只需发布一个Runnable(在onCreate方法中)在视图上将其宽度设置为适当的尺寸,以便您做出正确的外观:

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方法并在那里绘制一些东西(也许稍后会隐藏它{{1} })))如果你真的想确保用户看到额外的内容。