SORU
29 NİSAN 2010, PERŞEMBE


kaplama iki bir imageview ayarlamak için android görüntüleri

Benim app iki resim yerleşimi için çalışıyorum, ama canvas.setBitmap() hattımı kaza görünüyorlar. Neyi yanlış yapıyorum?

private void test() {
    Bitmap mBitmap = BitmapFactory.decodeResource(getResources(), R.drawable.t);
    Bitmap mBitmap2 = BitmapFactory.decodeResource(getResources(), R.drawable.tt);
    Bitmap bmOverlay = Bitmap.createBitmap(mBitmap.getWidth(), mBitmap.getHeight(), mBitmap.getConfig());
    Canvas canvas = new Canvas();
    canvas.setBitmap(bmOverlay);
    canvas.drawBitmap(mBitmap, new Matrix(), null);
    canvas.drawBitmap(mBitmap2, new Matrix(), null);
    testimage.setImageBitmap(bmOverlay);
}

CEVAP
29 NİSAN 2010, PERŞEMBE


Karmaşık Tuval manipülasyon atlayın ve bu tamamen yapmak Drawables ile LayerDrawable kullanarak yapabilirsiniz. İki seçenek var: ya define it in XML o zaman sadece görüntüyü ayarlayın veya LayerDrawable dinamik olarak kod. bir yapılandırma yapabilirsin

Çözüm #1 (XML üzerinden):

Yeni Drawable XML dosyası oluşturmak, layer.xml arayın:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/t" />
    <item android:drawable="@drawable/tt" />
</layer-list>

Şimdi görüntü bu Drawable kullanarak:

testimage.setImageDrawable(getResources().getDrawable(R.layout.layer));

Çözüm #2 (dinamik):

Resources r = getResources();
Drawable[] layers = new Drawable[2];
layers[0] = r.getDrawable(R.drawable.t);
layers[1] = r.getDrawable(R.drawable.tt);
LayerDrawable layerDrawable = new LayerDrawable(layers);
testimage.setImageDrawable(layerDrawable);

(Bir hata olabilir bu yüzden bu kodu test etmedim, ama bu genel taslak çalışması gerekir.)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Jared Busch

    Jared Busch

    25 Mayıs 2011
  • Malwarebytes

    Malwarebytes

    22 Temmuz 2007
  • UsherVEVO

    UsherVEVO

    15 EKİM 2009