当我在键盘上工作时,我们知道任何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默认键盘上一样。
答案 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();
}
});
}