2

我有一个 ScrollView,里面有一个自定义视图。它不会滚动。如果我在其中放入一个文本视图,我可以让它滚动。我一直在寻找解决方案,但我找不到为什么它不会滚动。

我假设我需要在绘制自定义视图时以某种方式通知 ScrollView。此代码来自自定义控件上的 onDraw。

    canvas.drawLine(0, 0, 2000, 2000, paint);
    canvas.drawLine(0, 200, 2000, 200, paint);
    canvas.drawLine(0, 300, 2000, 300, paint);
    canvas.drawLine(0, 400, 2000, 400, paint);
    canvas.drawLine(0, 500, 2000, 500, paint);
    canvas.drawLine(0, 600, 2000, 600, paint);
    canvas.drawLine(0, 700, 2000, 700, paint);
    canvas.drawLine(0, 800, 2000, 800, paint);
    canvas.drawLine(0, 900, 2000, 900, paint);
    canvas.drawLine(0, 1000, 2000, 1000, paint);
    canvas.drawLine(0, 1100, 2000, 1000, paint);

这是xml文件

<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"    
 android:id="@+id/button_scroll"    
 android:layout_width="match_parent"  
 android:layout_height="match_parent"      
 android:layout_gravity="center_horizontal"    
 android:fillViewport="true" >

   <SCEWidgetWarehouseView
        android:id="@+id/WarehouseView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />



 </HorizontalScrollView>
4

1 回答 1

3

问题很可能是您没有在自定义视图中正确实现 onMeasure(int, int) 。此方法用于告诉系统您的视图有多大。这在使用 wrap_content 时尤其重要。

于 2012-06-22T21:02:33.450 回答