Какова лучшая стратегия, чтобы иметь кнопку, которая, когда палец нажимает на нее, имеет одно изображение, а когда нет, другое изображение? - PullRequest
0 голосов
/ 07 марта 2012

На самом деле у меня есть ImageView с изображением и onclicklistener, и изображение работает как кнопка.

Мне нужно добавить другое изображение для нажатия кнопки пальцем. Я думал сделать это:

movement.setOnClickListener(new OnClickListener() {
                public void onClick(View v) {
                    if (movement_mode){
                        movement_mode=false;
                        movement.setImageBitmap(Util.loadImage("/desplaz_inactivo"));                
                    }
                    else{
                        movement_mode=true;
                        movement.setImageBitmap(Util.loadImage("/desplaz_activo"));
                    }
                }
            }); 

Но я думаю, что это несправедливый способ добиться этого ... я думаю, должен быть еще один простой и быстрый способ добиться этого.

Пожалуйста, расскажите мне НЕ XML-стратегии, я программирую без использования XML-файлов для макетов.

спасибо

1 Ответ

0 голосов
/ 08 марта 2012

Решено:

pagelist= new ImageButton(this);
        selector(pagelist, R.drawable.but_pagelist_up,R.drawable.but_pagelist_down);
        rl.addView(pagelist);

public void selector(ImageButton b, int normal_image, int pressed_image)
    {
        StateListDrawable states = new StateListDrawable();
        states.addState(new int[] {android.R.attr.state_pressed},
            getResources().getDrawable(pressed_image));         
       states.addState(new int[] { },
            getResources().getDrawable(normal_image));      
        b.setBackgroundDrawable(states);
    }
...