按钮上的Flash图像单击按钮

时间:2013-06-17 16:35:58

标签: android image buttonclick

当我在键盘上工作时,我们知道任何Android设备上的默认键盘,当我们点击任何按钮时,按钮上面会闪现更大的图像,我不知道这个效果,我尝试使用下面的代码。

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>

它工作成功,但是图像在我点击的同一个地方闪现,但是我需要这个图像显示在上面的按钮上,就像安装在Android默认键盘上一样。

2 个答案:

答案 0 :(得分:0)

您设置特定按钮的背景,因此如果您希望它显示在按钮上方,请确保使用框架布局作为键盘的整体布局,然后使用单个额外的图像视图切换位置和资源时你点击一个按钮。你将不再需要选择器了。

框架布局可让您将多个视图放在一起。

答案 1 :(得分:0)

Link

为什么不以编程方式而不是以UI模式进行此操作?

有几种,取决于你的意思是什么样的闪光。 例如,您可以使用alpha动画并在首次出现按钮时启动它。当用户点击按钮时,在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