Android: Rysowanie na płótnie w Scrollview

Jestem całkiem nowy w programowaniu dla Androida. Moja aplikacja to przykładowa aplikacja z demonstracji api na stronie programisty Androida. Kiedy zmieniam parametry w tym rysunku, staje się on większy. Ten rysunek musi być wyświetlany w widoku przewijania (nie musi być zmniejszany, aby pasował do ekranu). To jest kod, którego użyłem:

DrawPoints.java

<code>    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
        }
    }
}
</code>

tutaj jest kod XML:

routes.xml

<code><?xml version="1.0" encoding="utf-8"?>
    <ScrollView 
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/scrollView1"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent" >
        <HorizontalScrollView 
                android:id="@+id/scrollView2"
                android:layout_width="fill_parent"
                android:layout_height="fill_parent">

                    <!-- This code is just to make sure that scroll views work how 
                        I want them to work, image size is 625*351 px
                     <ImageView
                        android:id="@+id/image_View1"
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        android:src="@drawable/bus_design"
                            /> -->
                     <my.package.DrawPoints.SampleView
                        android:layout_width="fill_parent" 
                        android:layout_height="fill_parent" /> 


        </HorizontalScrollView>
    </ScrollView>
</code>

Po uruchomieniu tej aplikacji i naciśnięciu przycisku w głównych aplikacjach powodujących awarie. Rysunek wygląda tak, jak na rysunku 1, gdy nie korzystam z układu xml lub przeglądów:

http://i.stack.imgur.com/za5MP.png Rysunek 1

Próbowałem również użyć tego kodu po metodzie setContentView:

<code>View v = new SampleView(this);
addContentView(v, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,
            ViewGroup.LayoutParams.FILL_PARENT));
</code>

a także ten:

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

    addContentView(v, lp);
</code>

kiedy używam kodów pokazanych powyżej, aplikacja wyświetla Rysunek 1 bez widoku przewijania, wygląda na to, że drugi widok zawartości zastępuje ten plik XML, ale nie wyświetla się poprawnie. Potem próbowałem użyć tego kodu po setContentView:

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

Układ ramki (FrameLayout1) jest dodawany w pliku routes.xml po poziomym widoku przewijania. Po uruchomieniu aplikacji otrzymuję pusty ekran bez rysunku 1. Czy ktoś ma pomysł, jak zaktualizować mój kod, który wyświetlałby Rysunek 1 w ScrollView?

Z góry dziękuję!

questionAnswers(2)

yourAnswerToTheQuestion