我看到这个问题无处不在,但我认为每个案例都有自己的解决方案。我有这个:
<HorizontalScrollView
android:id="@+id/MenuScroll"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:scrollbars="none" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="48dp"
android:orientation="horizontal"
android:layout_gravity="center"
android:padding="0dp" >
<Button
android:layout_width="150dp"
android:layout_height="fill_parent" />
<Button
android:layout_width="150dp"
android:layout_height="fill_parent" />
<Button
android:layout_width="150dp"
android:layout_height="fill_parent" />
<Button
android:layout_width="150dp"
android:layout_height="fill_parent" />
<Button
android:layout_width="150dp"
android:layout_height="fill_parent" />
</LinearLayout>
</HorizontalScrollView>
我假装LinearLayout
位于HorizontalScrollView
内。它居中(我看到半按钮 - 按钮 - 半按钮)但我无法滚动到第一个按钮。看起来隐藏在左侧的内容占用的空间在右侧添加,并且在HorizontalScrollView
之后添加了一些空格。
是否有任何解决方案,即使我必须动态地进行?
答案 0 :(得分:1)
我有同样的问题,为了避免它只是删除
android:layout_gravity="center"
来自
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="48dp"
android:orientation="horizontal"
android:layout_gravity="center"
android:padding="0dp" >
您可以在创建布局视图时添加计时器以正确滚动。如果您不添加计时器,则由于未创建视图,它将不会滚动。你不能滚动它看不见的东西
new Timer().schedule(new TimerTask () {
@Override
public void run() {
//SOME SCROLLING FUNCTION
}}, 50);