üzerinde ben Android'de bir tuvale çizilen öğelerin üzerine kaydırma temellerini anlama yardıma ihtiyacım var. Bir zaman çizgisi oluşturmak istediğime göre, 0'daki zaman bir görselleştirmenin en üst noktasıdır ve zaman arttıkça zaman çizgisi bir önceki nokta altında oluşturulmaya devam eder. Bunu Android'de yapmak istiyorsam, onDraw() öğesini geçersiz kılarak bir tuvalde birkaç öğe oluşturabileceğimi biliyorum. Ancak, görselleştirmenin ekranın izin verdiğinden daha büyük olduğunu varsayalım. Bunu işlemek gibi büyük kara kutu Aşağıdaki ilk resimde ÖrneğinKaydırma büyük tuval
tüm tuval içerir. Dikey olarak yukarı ve aşağı doğru sarı, yeşil ve mavi renkli dikdörtgenler içeren mavi bir çizgi oluşturuyorum. Kırmızı kutu, görselleştirmeyi gerçekleştiren Android'in ekranını temsil eder. Başlangıçta tüm öğeler açılırken, sadece kırmızı kutuda bulunan öğeler ekranda görünür. kırmızı kutunun sınırları dışına gitmiş ürün vize artık iken temsil gibi kullanıcı aşağı kaydırmak için Şimdi eğer
, başlangıçta kırmızı kutunun altında görünen ürün, görünümünde ikinci resim
ben scrollables kullanmak gerekir inanıyoruz ama oldukça Bunun nasıl kayboldum. Ben kendi müşteri görüntüler oluşturmak için nasıl açıklayan bu sayfayı http://developer.android.com/training/custom-views/custom-drawing.html ve bu sayfada UI interaktif hale getirmek için nasıl açıklayan http://developer.android.com/training/custom-views/making-interactive.html üzerinde okudum, ama ben bir şey eksik düşünüyorum.
bu sorunu göstermektedir örnek bir kod aşağıdaki gibidir (kutular çizgiler go/mantık dikte vb vardır varsayalım bu temel):
package com.example.scrolltest;
import com.example.scrolltest.Draw;
import android.os.Bundle;
import android.app.Activity;
import android.graphics.Color;
public class MainActivity extends Activity {
Draw draw;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
draw = new Draw(this);
draw.setBackgroundColor(Color.WHITE);
setContentView(draw);
}
}
ve
package com.example.scrolltest;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;
public class Draw extends View {
Paint paint = new Paint();
public Draw(Context context) {
super(context);
}
@Override
public void onDraw(Canvas canvas) {
paint.setColor(Color.GREEN);
canvas.drawRect(30, 30, 90, 200, paint);
paint.setColor(Color.BLUE);
canvas.drawLine(100, 20, 100, 1900, paint);
paint.setColor(Color.GREEN);
canvas.drawRect(200, 2000, 400, 3000, paint);
}
}
Yine de anlayamadığım şey, ekranın kapalı olan dikdörtgenlere kaydırmak için kaydırılabilir bir şekilde nasıl kullanacağım. Bunun doğru şekilde başlatılıp başlatılmamasına ya da bunun yerine drawable kullanması gerektiğine de eminim ...
nasıl tuvale özelliğini kaydırma ekleyebilirler? –