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

  • Google

    Google

    18 EYLÜL 2005
  • Kurtindo Pop Games

    Kurtindo Pop

    2 HAZİRAN 2013
  • williamfitzsimmons

    williamfitzs

    14 Mart 2008