我使用了水平滚动视图,其中添加了“子视图”。但是在HZ滚动视图中我想安排孩子一些想法,整个屏幕一次会显示3.5个孩子或4.5,5.5取决于屏幕尺寸。孩子的一半表明Scroller上有更多的孩子。
为此,我使用不同尺寸的子视图取决于密度。但它们仍然是一些在屏幕尽头显示整个孩子的设备。
所以我怎么能在滚动视图上管理这个。请指导我正确的方向。
答案 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} })))如果你真的想确保用户看到额外的内容。