SORU
15 Ocak 2011, CUMARTESİ


Seçici görüntüleri programlı olarak değiştirin

Drawable görüntü kaynağı seçici koyduğu bir İmageView var. Nasıl programlı olarak erişim seçici ve vurgulanmış ve vurgulu olmayan devletin resimleri değiştirebilirim?

Burada seçici bir kod:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" android:id="@ id/iconSelector">
  <!-- pressed -->
  <item android:state_pressed="true" android:drawable="@drawable/btn_icon_hl" />
  <!-- focused -->
  <item android:state_focused="true" android:drawable="@drawable/btn_icon_hl" />
  <!-- default -->
  <item android:drawable="@drawable/btn_icon" />
</selector>

Diğer görüntüleri ile btn_icon_hl btn_icon değiştirmek mümkün olmak istiyorum.

CEVAP
15 Ocak 2011, CUMARTESİ


Bulmak mümkün oldum (kendime benzer bir şey yapmaya çalıştım) kadarıyla, StateListDrawable zaten tanımlandıktan sonra tek bir durumu değiştirmek için bir yol yok. Ancak kod ile YENİ bir tane tanımlayabilirsiniz:

StateListDrawable states = new StateListDrawable();
states.addState(new int[] {android.R.attr.state_pressed},
    getResources().getDrawable(R.drawable.pressed));
states.addState(new int[] {android.R.attr.state_focused},
    getResources().getDrawable(R.drawable.focused));
states.addState(new int[] { },
    getResources().getDrawable(R.drawable.normal));
imageView.setImageDrawable(states);

Ve sadece bir elinin iki tutmak, ya da hiç bu kadar farklı bir tane oluşturabilirsiniz.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Blunty

    Blunty

    13 Mart 2006
  • Caramthros

    Caramthros

    10 AĞUSTOS 2007
  • Cole Rolland

    Cole Rolland

    23 Kasım 2008