ScrollView不会滚动自定义视图

时间:2012-06-22 20:32:45

标签: android scrollview custom-view

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

我假设我需要在我的自定义视图绘制时以某种方式通知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>

1 个答案:

答案 0 :(得分:3)

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