2013-09-26 3 views
0

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

Что было бы лучшим способом установить изображение на стандартной кнопке? Должен ли я сделать кнопку imageButton или просто setBackground ...()?

Button signin = (Button)findViewById(R.id.buttonsignin); 
       // signin.setBackgroundResource(R.drawable.signin); 

       alpha = new AlphaAnimation(0.3F, 0.8F); //Set opacity - Range 0.0 to 1.0 
       alpha.setDuration(0); // Set animation duration 
       alpha.setFillAfter(true); // Maintaining the effect to the button 
       signin.startAnimation(alpha); 
       signin.setOnClickListener(new OnClickListener() { 

        @Override 
        public void onClick(View v) { 

         ..... 

        } 
       }); 

ответ

2

Я думаю, что лучше, если вы используете кнопку, а затем дать его атрибуты в файле XML, так что вы можете играть с атрибутами, как нажатом состоянии. Но если вы дадите setBackground = "путь к изображению", то вы не сможете дать такие свойства, как state_pressed.

+1

+1 для использования селекторов, вот полный пример того, как использовать 'селекторы': http://wp.me/p3V0Ps-t – Houcine

1

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

0

Часто или нет, я даже не использую кнопку, когда я имею дело с депрессией чего-то, что будет содержать изображение, я просто использую ImageView с разными состояниями. Но, как уже упоминалось, использование селектора делает работу значительно легче из XML-кода, не беспокоясь о том, что вы переходите к настройке на свой собственный конец; несколько способов достижения желаемого эффекта.

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