SurfaceView горизонтальная прокрутка - PullRequest
1 голос
/ 21 июля 2011

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

Ответы [ 2 ]

2 голосов
/ 21 июля 2011

Вам необходимо поместить свой пользовательский вид в горизонтальный вид прокрутки как отдельный класс. Когда вы создаете инстаграм вашего пользовательского графического представления, вы указываете ему размер в соответствии с шириной графика, переопределяя метод onMeasure:

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {     
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);      

    this.setMeasuredDimension(graphWidth, graphHeight);
}

graphWidth = barLenghtInPixels * barCount + extraSpaceInPixels;

Вы можете поместить свой customView в макет xml с помощью пользовательского тега, например <com.myApplication.GraphView...>, или использовать myScrollView.addView(myCustomView) и добавить его в HorizontalScrollView перед вызовом setContentView(myLayout).

.
1 голос
/ 21 июля 2011

Поместите элемент HorizontalScrollView внутри вида поверхности. Посмотрите на collectTransparentRegion (Регион региона) в HorizontalScrollView документации

...