gpt4 book ai didi

java - 如何根据用户的触摸移动图像?

转载 作者:行者123 更新时间:2023-11-29 23:51:28 25 4
gpt4 key购买 nike

当用户触摸设备屏幕的左侧或右侧时,我试图让图像向左或向右移动。我有以下代码....我在 Android Studio 中运行了模拟器,当我点击模拟器屏幕的右侧或左侧时......没有任何反应。这段代码有什么问题?欢迎大家回答!我在包含我要移动的图像的 Activity 中输入了以下代码:

public class GameScreen1 extends AppCompatActivity implements View.OnTouchListener{


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_game_screen1);


ImageView circle1 = (ImageView) findViewById(R.id.circle1);

@Override
public boolean onTouch(View v, MotionEvent event) {
switch (v.getId()) {
case R.id.circle1:
if (event.getAction() == MotionEvent.ACTION_DOWN) {
//WHAT CODE SHOULD I PUT INSTEAD OF THE FLOAT X AND X++
int ScreenWidth = getResources().getDisplayMetrics().widthPixels;
float Xtouch = event.getRawX();
int sign = Xtouch > 0.5*ScreenWidth ? 1 : -1;
float XToMove = 50;
int durationMs = 50;
v.animate().translationXBy(sign*XToMove).setDuration(durationMs);
}
break;
}
return false;
}

最佳答案

将 ID 添加到 Activity 中的根布局,并在其上添加 TouchListener。

这是一个例子:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:id="@+id/cl_root"
android:layout_height="match_parent"
tools:context=".MainActivity">


</android.support.constraint.ConstraintLayout>

这是您的 Activity 代码:

public class MainActivity extends AppCompatActivity {

ConstraintLayout layout;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
layout = findViewById(R.id.cl_root);
layout.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int screenWidth = getResources().getDisplayMetrics().widthPixels;
int x = (int)event.getX();
if ( x >= ( screenWidth/2) ) {
//Right touch
}else {
//Left touch
}
return false;
}
});

}
}

关于java - 如何根据用户的触摸移动图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50858688/

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