Android: machen Sie einen scrollbaren benutzerdefinierte Ansicht

Hab ich rollte meine eigenen Ansicht und kann zeichnen auf dem Bildschirm in Ordnung, aber was würde ich wirklich tun möchte, ist das measuredHeigh auf dem Bildschirm, sagen wir mal 1000px und dem Benutzer das navigieren auf der Y-Achse, aber ich habe Probleme dies zu tun. Kann jemand helfen?

Hier einige code:

public class TestScreen extends Activity  {
     CustomDrawableView mCustomDrawableView;
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);    
         mCustomDrawableView = new CustomDrawableView(this);
         setContentView(mCustomDrawableView);
     }
 }

und

public class CustomDrawableView extends View {

    public CustomDrawableView(Context context) {
        super(context);
        setVerticalScrollBarEnabled(true);
        setMinimumHeight(1000);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        canvas.drawLine(...);
        //more drawing
    }
}

Ich habe versucht, zu überschreiben, scrollTo, scrollBy, awakenScrollBars etc mit einem Aufruf von super, aber ohne Erfolg. Bin ich etwas dumm, oder bin ich da machen einige grundlegende Fehler?

Vielen Dank im Voraus,

Martyn

Zusatz:

Ich habe versucht, fügen Sie diese als benutzerdefinierte Komponente mit dem unter layout-Datei und änderte den code in TestScreen auf die richtige Ressource mit setContentView(R.layout.exampleLayout), aber dies bewirkt, dass der emulator zum Absturz zu bringen. Ich habe versucht, Kommentare im code nach unten auf das absolute minimum und es immer noch abstürzt, so dass es etwas grundlegend falsch, dass ich das Tue, aber ich bin mir nicht sicher, was es ist :

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content">
       <ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent">
            <com.martyn.testApp.CustomDrawableView
               android:layout_width="fill_parent"
               android:layout_height="fill_parent"
             />
       </ScrollView>
</LinearLayout>
InformationsquelleAutor Martyn | 2010-05-09
Schreibe einen Kommentar