2012-06-22 3 views
1

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

ответ

4

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

+0

Да, именно так. Я подумал, что это было что-то простое, как будто этого мне не хватало. Благодарю. –

+1

Если этот ответ помог, он должен был быть отмечен как принятый. – aMiGo

Смежные вопросы