ScrollView не прокручивается с пользовательским представлением

У меня есть 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>

person Barry Klecka    schedule 22.06.2012    source источник


Ответы (1)


Проблема, скорее всего, в том, что вы неправильно реализовали onMeasure(int, int) в своем пользовательском представлении. Этот метод используется, чтобы сообщить системе, насколько велико ваше представление. Это особенно важно при использовании wrap_content.

person Romain Guy    schedule 22.06.2012
comment
Да, это было так. Я подумал, что это что-то простое, что мне не хватало. Спасибо. - person Barry Klecka; 25.06.2012