2015-03-04 1 views
0

я получаю проблему с помощью андроида: state_pressed с Picassoсостояние нажимается ImageView с библиотекой Picasso не работает

это мой код на моей деятельности: благодаря Махмуду Elmorabea ** Обновление моего последнего кода **

final StateListDrawable stateListDrawable = new StateListDrawable(); 
    final Picasso picasso = Picasso.with(this.getApplicationContext()); 
target_selected = new Target() { 
     @Override 
     public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) { 
      Drawable drawImage2 = new BitmapDrawable(
        getApplicationContext().getResources(), bitmap); 
      stateListDrawable 
        .addState(new int[] { android.R.attr.state_pressed}, 
          drawImage2); 
      stateListDrawable.addState(
        new int[] { android.R.attr.state_activated }, 
        drawImage2); 
     } 

     @Override 
     public void onBitmapFailed(Drawable errorDrawable) { 

     } 

     @Override 
     public void onPrepareLoad(Drawable placeHolderDrawable) { 

     } 
    }; 
    picasso.with(getApplicationContext()).load(R.drawable.akadblack) 
      .into(target_selected); 
    target_normal = new Target() { 
     @Override 
     public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) { 
      Drawable drawImage = new BitmapDrawable(getApplicationContext() 
        .getResources(), bitmap); 
      stateListDrawable.addState(StateSet.WILD_CARD, drawImage); 

     } 

     @Override 
     public void onBitmapFailed(Drawable errorDrawable) { 

     } 

     @Override 
     public void onPrepareLoad(Drawable placeHolderDrawable) { 

     } 
    }; 

    picasso.with(getApplicationContext()).load(R.drawable.akad) 
      .into(target_normal); 

    imgAkad.setImageDrawable(stateListDrawable); 

здесь btnStart XML:

<?xml version="1.0" encoding="utf-8"?> 

<item android:drawable="@drawable/resepsi" android:state_pressed="false" android:state_selected="false"/> 
<item android:drawable="@drawable/resepsiblack" android:state_pressed="true"/> 
<item android:drawable="@drawable/resepsi" android:state_pressed="false" android:state_selected="true"/> 

и последний на моем макете XML я поставил ImageView так:

<ImageView 
     android:id="@+id/imgStart" 
     android:layout_width="150dp" 
     android:layout_height="60dp" 
     android:layout_centerHorizontal="true" 
     android:contentDescription="@string/start" /> 

я пытался каким-то ответ здесь, но до сих пор не работает, даже ImageView не рендеринг.

Может ли кто-нибудь дать мне пример использования пикассо с состоянием селектора для просмотра изображений?

заранее спасибо

ответ

1

нагрузки оба изображения, которые хотят использовать в качестве селекторов синхронно.

Затем используйте следующие параметры для селекторов динамически:

Bitmap bmpPressed = Picasso.with(context).get(url); 
Bitmap bmpNotPressed = Picasso.with(context).get(url); 
StateListDrawable states = new StateListDrawable(); 
states.addState(new int[] {android.R.attr.state_pressed}, 
    bmpPressed); 
states.addState(new int[] { -android.R.attr.state_pressed}, 
    bmpNotPressed); 

я Don''t знаю, существует ли метод Get() в Пикассо, я делал это раньше с UIL

+0

вы можете дать мне пример по моему делу? я не понимаю, что вы имеете в виду .. извините .. – zacky

+0

heck отредактировал ответ – elmorabea

+0

Я тоже обновляю свои вопросы, я создаю, как то, что вы делаете, но состояние все еще не работает ... – zacky

Смежные вопросы