0

当我在键盘上工作时,我们知道当我们单击任何按钮时,在任何 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 默认键盘上发生的那样。

4

2 回答 2

0

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

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

于 2013-06-17T16:58:45.653 回答
0

这个链接

为什么不以编程方式而不是在 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();
        }
    });
}

还有这个答案

于 2015-06-02T05:42:52.797 回答