Horizo​​ntalScrollView 中的自定义视图不滚动

Posted

技术标签:

【中文标题】Horizo​​ntalScrollView 中的自定义视图不滚动【英文标题】:Custom View inside HorizontalScrollView not scrolling 【发布时间】:2012-03-10 15:48:42 【问题描述】:

我在 Horizo​​ntalScrollView 中有一个自定义视图,如下所示:

<HorizontalScrollView
        android:layout_
        android:layout_
        android:fillViewport="true"
         >

        <com.mina.demo.customwidgets.MyCustomView
            android:layout_
            android:layout_
            />

    </HorizontalScrollView>

在 MyCustomView onDraw() 方法中,我绘制了一些文本和位图。

问题是自定义视图的宽度变得大于屏幕宽度,并且环绕水平滚动视图不会像禁用一样滚动。

这可能是什么原因?

【问题讨论】:

您可以尝试将自定义视图的宽度更改为 fill_parent 并查看它是否有所改变。 【参考方案1】:

如果您的MyCustomView 总是大于屏幕宽度,那么将HorizontalScrollView 的宽度设置为等于其内容是安全的。请尝试以下操作:

<HorizontalScrollView
    android:layout_
    android:layout_
    android:fillViewport="true"
     >

    <com.mina.demo.customwidgets.MyCustomView
        android:layout_
        android:layout_
        />

</HorizontalScrollView>

我认为现在的问题是HorizontalScrollView 的宽度固定为fill_parent。默认情况下启用滚动,您没有手动更改它,所以这不是问题。

【讨论】:

当我尝试你的解决方案时,我的自定义滚动内容是不可见的,真的不知道为什么 你能发布你的整个布局文件吗?仅仅改变android:layout_width 不应该这样做...... 这个布局被夸大为 ListView 的项目视图 好的...然后尝试将滚动视图的layout_width 设置为 320(或者您正在使用的 AVD 的屏幕尺寸)。

以上是关于Horizo​​ntalScrollView 中的自定义视图不滚动的主要内容,如果未能解决你的问题,请参考以下文章

包装在 Horizo​​ntalScrollView 中的 Android Listview 高度不正确,其中列表项的高度不同

Horizo​​ntalScrollView 以编程方式滚动而没有焦点

如何修复 Horizo​​ntalScrollView 的滚动宽度?

DrawerLayout 与 Horizo​​ntalScrollView 进入内容菜单

是否可以使用 ScrollView 和 Horizo​​ntalScrollView 实现对角滚动?

Horizo​​ntalScrollView 隐藏其子视图