gpt4 book ai didi

java - 如何使按钮不可点击但可触摸?

转载 作者:行者123 更新时间:2023-11-30 01:35:15 24 4
gpt4 key购买 nike

我有一个按钮,当我点击它时它会制作一个缩放动画,我也可以用 onTouch 事件拖动它。

我想让它在第一次触摸后不可点击,这段代码做到了。点击此处

    btnScale.setOnClickListener(new Button.OnClickListener(){

@Override
public void onClick(View v) {

v.startAnimation(animScale);
btnScale.setClickable(false);

}});

此代码还帮助我拖动它。这里OnTouch

 btnScale.setOnTouchListener(new Button.OnTouchListener(){

public boolean onTouch(View v, MotionEvent me) {
if (me.getAction() == MotionEvent.ACTION_DOWN) {
oldXvalue = me.getX();
oldYvalue = me.getY();
} else if (me.getAction() == MotionEvent.ACTION_MOVE) {

//RelativeLayout rl = (RelativeLayout) findViewById(R.id.background);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(v.getWidth(), v.getHeight());

params.leftMargin = (int) (me.getRawX() - (v.getWidth() / 2));
params.topMargin = (int) (me.getRawY() - (v.getHeight()));

//LayoutParams params = new LayoutParams(v.getHeight(), (int) (me.getRawX() - (v.getWidth() / 2)), (int) (me.getRawY() - (v.getHeight())));
v.setLayoutParams(params);
}
return false;
}});

但是我点了之后还是想拖。然而,当我让它不可点击时,它不能被拖动,因为它也是不可触摸的

编辑:

当我在 onClick 上使用 if else 状态作为 boolean 变量时,我仍然能够点击按钮,并且我的圆形按钮中出现了一个丑陋的正方形。

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="#61d5ee">
<item>
<shape android:shape="oval">
<solid android:color="#61d5ee"/>
<corners android:radius="5dp" />
<stroke android:width="4px" android:color="#cdf3fb" />
</shape>
</item>
</ripple>

怎么办?

最佳答案

创建一个 boolean 值来说明它是否启用,手动更改 onClick 中的状态并更改按钮的设计。在您的 Onclick 中使用类似的东西:

if(enabled){
do something
}else{
//do nothing
}

你不需要其他的,它只是一个例子。然后......他是可触摸的启用和禁用。

关于java - 如何使按钮不可点击但可触摸?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35186194/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com