Android: рисование на холсте в Scrollview

Я новичок в программировании для Android. Мое приложение представляет собой пример приложения из демонстраций API на веб-сайте разработчика Android. Когда я изменяю параметры в этом образце рисунка, он становится больше. Этот рисунок должен отображаться в виде прокрутки (его не нужно сжимать, чтобы он поместился на экране). Вот код, который я использовал:

DrawPoints.java

    public class DrawPoints extends myActivity {


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.routes); 

    }

    public static class SampleView extends View {
        private Paint   mPaint = new Paint();
        private float[] mPts;

       /*here comes declaration of parametars



        private void buildPoints() {

        /*here comes some coding*/

            }
        }

        public SampleView(Context context, AttributeSet attributeset) {
            super(context, attributeSet);

            buildPoints();
        }

        @Override 
        protected void onDraw(Canvas canvas) {
            Paint paint = mPaint;

            //here also comes code
        }
    }
}

вот код xml:

route.xml


    
        

                    
                      


        
    

Когда я запускаю это приложение и нажимаю кнопку в основном приложении, происходит сбой. Рисунок выглядит как рисунок 1, когда я не использую макет xml или прокрутку:

http://i.stack.imgur.com/za5MP.png Рисунок 1

Я также пытался использовать этот код после метода setContentView:

View v = new SampleView(this);
addContentView(v, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,
            ViewGroup.LayoutParams.FILL_PARENT));

, а также этот:

View v = new SampleView(this);
    ScrollView.LayoutParams lp = new ScrollView.LayoutParams(1000, 1000);

    addContentView(v, lp);

когда я использую коды, показанные выше, приложение отображает рисунок 1 без прокрутки, это похоже на второе представление содержимого перезаписывает этот xml, но он не отображается правильно. После этого я попытался использовать этот код после setContentView:

View v = new SampleView(this);
    FrameLayout fl = new FrameLayout(this);
    fl.findViewById(R.id.FrameLayout1);
    fl.addView(v);

Макет кадра (FrameLayout1) добавляется в файл route.xml после просмотра горизонтальной прокрутки. Когда приложение запускается, я получаю пустой экран без рисунка 1. Кто-нибудь знает, как обновить мой код, который будет отображать рисунок 1 в ScrollView?

Заранее спасибо!

6
задан Kristijan 24 April 2012 в 18:15
поделиться