Мой пользовательский вид не виден при встроении внутри HorizontalsCrollView

StackOverflow https://stackoverflow.com/questions/6817887

Вопрос

Я знаю, что у многих людей были похожи на это, но я не могу найти решение. Я создал пользовательский вид, который расширяет SurfaceView. Этот вид работает отлично, когда я использую:

setContentView(graphView);

Однако я хочу, чтобы это было встроено в HorizontalsCrollView. Если я попробую это с XML с:

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<HorizontalScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true">

<com.stuff.graph.GraphView
android:id="@+id/graph"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>

</HorizontalScrollView>
</FrameLayout>

Затем я получаю фатальное исключение, и мое приложение закрывается.

Если я попытаюсь решить это программатически с помощью:

graphView = new GraphView(this);
graphView.setVisibility(View.VISIBLE);
myScrollView = new HorizontalScrollView(this);

graphView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
myScrollView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));        

myScrollView.addView(graphView);      

setContentView(myScrollView);

Тогда экран просто черный. Я также пробовал много вариантов кода, показанного выше, но ни один из них не был успешным. Где я ошибаюсь?

Это было полезно?

Решение 2

Оказывается, это на самом деле не способ решить эту проблему:

http://www.mail-archive.com/android-developers@googlegroups.com/msg45804.html

Мое решение состоит в том, что я не собираюсь использовать SurfaceView, вместо этого я, вероятно, собираюсь привлечь к растровому изображению и помещать это в изображение, которое я могу поместить в ScrollView.

Другие советы

Вы должны быть в состоянии получить его в XML без проблем - попробуйте внедрить представление на пользовательском графике в ListView в представление прокрутки; По моему опыту с HorizontalsCrollView они, как правило, очень выбирают их содержимое. Если это не работает, попробуйте тестировать, чтобы увидеть, есть ли проблема с представлением кадра. Просто добавьте кнопку в горизонтальный вид прокрутки и посмотрите, сможете ли вы ее появиться. Если нет, то есть проблема, пытаясь отобразить кадр, и она не имеет ничего общего с вашим пользовательским кодом.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top