2013-06-17 4 views
0

Поскольку я работаю на клавиатуре, мы знаем по умолчанию клавиатуру на любом устройстве Android, когда мы нажимаем любую кнопку, над кнопкой мерцает более крупное изображение, я точно не знаю этого эффекта, ut I попытались использовать нижеприведенный код.Flash-изображение на кнопке нажмете на кнопку

Button, который щелкнул в моем Keyboard.xml:

<Button android:id="@+id/xBack" 
     android:background="@drawable/back_high"/> 

Над back_high мой файл XML.

back_high.xml файл,

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item android:drawable="@drawable/back_click" 
      android:state_pressed="true" /> 
    <item android:drawable="@drawable/back" 
      android:state_focused="true" /> 
    <item android:drawable="@drawable/back" /> 
</selector> 

Его успешно работает, но изображение мелькнуло на том же месте, где я щелкнул, но мне нужно это изображение отображается на кнопку сверху, так как происходит на андроид по умолчанию клавиатура.

+1

@ l7colwinters правильно - вам нужно отдельное всплывающее окно для проблескового изображения. Вы устанавливаете фон одного и того же представления - не имеет значения для своей цели. – auval

+0

@uval alright Я реализовал всплывающее окно и его рабочий штраф для меня. но у меня есть одна проблема, мне нужны координаты текущего текущего щелчка, потому что я должен показать отдельное изображение при касании конкретной кнопки. – Aniket

+0

Попытайтесь получить координаты из объекта события onTouch – auval

ответ

0

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

Рамка позволяет разместить несколько видов друг на друга.

+0

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

0

Это Link:

Почему бы не сделать это программно, а не в режиме пользовательского интерфейса?

Есть несколько, в зависимости от того, какого рода проблескивание вы имеете в виду. Вы можете, например, использовать альфа-анимацию и запустить ее, когда появится ваша кнопка. И когда пользователь нажимает кнопку, в вашем OnClickListener просто сделайте clearAnimation().

Пример:

public void onCreate(Bundle savedInstanceState) { 
    final Animation animation = new AlphaAnimation(1, 0); // Change alpha from fully visible to invisible 
    animation.setDuration(500); // duration - half a second 
    animation.setInterpolator(new LinearInterpolator()); // do not alter animation rate 
    animation.setRepeatCount(Animation.INFINITE); // Repeat animation infinitely 
    animation.setRepeatMode(Animation.REVERSE); // Reverse animation at the end so the button will fade back in 
    final Button btn = (Button) findViewById(R.id.your_btn); 
    btn.startAnimation(animation); 
    btn.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(final View view) { 
      view.clearAnimation(); 
     } 
    }); 
} 

Также This Answer.

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