2D grafikleri denemek istediğiniz gibi geliyor - bunun için Canvas
kullanmalısınız. Tuval'in çizimini, Android'e özelleştirilmiş onDraw()
yönteminizi tetikleyen her şeyi yeniden çizmesini söyleyen invalidate()
yöntemiyle kontrol edebilirsiniz. XML dosyasını kullanmak istemediğinizi söylüyorsunuz, ancak bu, bir Tuvali yerleştirmenin en basit yoludur - içeriğini XML dosyasında tanımlamanız gerekmez, ancak düzen dosyasını orada anlatmanız yeterlidir. Uygulamanıza bir Canvas koymanın güçlü ama basit bir yolu, bir Görünümü özelleştirmektir. Örneğin, XML dosyanızda bir <your.package.CustomView android:.../>
öğesini dahil edin. Sonra CustomView extends View
sınıfını bildirin. Yapmak istediğiniz her türlü çizim, onDraw() yöntemine yerleştirilir. Örneğin, bir dikdörtgen çizmek için, bunun gibi bir şey yapın. programınızdan denir
//First you define a colour for the outline of your rectangle
rectanglePaint = new Paint();
rectanglePaint.setARGB(255, 255, 0, 0);
rectanglePaint.setStrokeWidth(2);
rectanglePaint.setStyle(Style.STROKE);
//Then create yourself a Rectangle
Rect rectangle = new Rect(left, top, right, bottom) //in pixels
//And here's a sample onDraw()
@Override
public void onDraw(Canvas canvas){
rectangle.offset(2, 2);
canvas.drawRect(rectangle, rectanglePaint);
}
Her zaman invalidate(), görünüm yeniden çizilmesi ve dikdörtgen aşağı ve sağa 2px taşınır. Not: Yeniden çizim yalnızca ana iş parçacığı ile gerçekleşir 'bekliyor'. Diğer bir deyişle, çağıran bir çağırma birkaç kez geçersiz kılarsa, Görünüm döngü bitinceye kadar çekilmez. Bunu aşabilirsin ama bu daha fazla komplikasyon ekler. Bunun nasıl yapıldığıyla ilgili bir örnek için, Google'dan LunarLander örnek oyununa bakın. Özel bir View, 2 iş parçacığını ve sürekli animasyonu nasıl uygulayacağınızı gösteren basit bir oyun.
Güzel çalışıyor, teşekkürler! –