2016-06-16 13 views
-1

Ich bin neu in Android Studio und ich habe Probleme mit dem Zeichnen. Ich habe verstanden, dass "onDraw()" -Funktion nur in der Klasse implementiert werden kann, die "View" erweitert. Aber ich verstehe nicht, wie ich meine Aktivität mit der View-Klasse verbinde, daher sehen wir auf dem Bildschirm die View-Klasse, nicht die Aktivität. Irgendwelche Hilfe? Danke im Voraus!Draw - So verbinden Sie Ansichtsklasse mit der Aktivität

+0

Sie sehen Leinwand wollen realtive können die Ansicht in Ihrem XML anhängen. –

+0

@MalithLakshan Wie mache ich das? Vielen Dank! – Tom

Antwort

0

Es ist ein ziemlich einfaches Ding android. Sie finden weitere Informationen here.

Ich zeige Ihnen nur ein Beispiel.

Zuerst wird die View-Klasse,

public MyView extends View{ 
    public MyView(Context context,AttributeSet set){ 
     super(context,set); 
    } 

    public void onDraw(Canvas canvas){ 
     //draw the item 
    } 
} 

In XML

<LinearLayout xmlns:android="http://www....." 
    android:orientation="veretical" 
    android:width="match_parent" 
    android:height="match_parent"> 

    <!--you custom view here--> 
    <com.your.package.name.MyView 
     android:width="match_parent" 
     android:height="match_parent"/>   

</LinearLayout> 

verwenden XML als Inhaltsansicht Ihrer Tätigkeit.

+0

Danke! Ist das XML ein anderes Layout als das der Aktivität? – Tom

+0

Nein, es ist das gleiche Aktivitätslayout. Siehe den angegebenen Link. –

+0

OK, ich werde es kurz lesen. Ich habe verstanden. Vielen Dank! – Tom

0

einfach Ihre der benutzerdefinierten Ansicht Objekt hinzufügen layout.Hear Relative ist, wo Sie es Layout oder einen Teil des Layouts vervollständigen kann

RelativeLayout viewlayout=(RelativeLayout)findViewById(R.id.viewlayoutid); 
    viewlayout.addView(new yours_customviewclass(this,null));//yours_customviewclass is your custom view means which extends view class,overide ondraw methods in this class 
+0

In der "yours_customvewclass" muss ich den Namen der Klasse schreiben? – Tom

+0

Ja, das ist eine Klasse, in der Sie die View-Klasse erweitert haben und die Methode ondraw implementiert –

+0

Ok toll :) Ich werde das überprüfen. Vielen Dank! – Tom

Verwandte Themen