要实现可拖动的TextView,你可以使用Android的拖动和触摸事件来实现。以下是一个简单的示例代码:

首先,在XML布局文件中,定义一个TextView,并为其设置一个标识符(id):

<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <TextView
        android:id="@+id/draggableTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Drag me!"
        android:textSize="24sp"
        android:background="#FF4081"
        android:padding="16dp"
        android:textColor="#FFFFFF" />

</RelativeLayout>

接下来,在Activity或Fragment中,获取TextView的引用并设置拖动和触摸事件监听器:

public class MainActivity extends AppCompatActivity {

    private TextView draggableTextView;
    private float offsetX, offsetY;

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

        draggableTextView = findViewById(R.id.draggableTextView);

        draggableTextView.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                switch (event.getAction()) {
                    case MotionEvent.ACTION_DOWN:
                        offsetX = event.getX() - v.getX();
                        offsetY = event.getY() - v.getY();
                        break;
                    case MotionEvent.ACTION_MOVE:
                        v.setX(event.getRawX() - offsetX);
                        v.setY(event.getRawY() - offsetY);
                        break;
                    default:
                        return false;
                }
                return true;
            }
        });
    }
}

在上面的代码中,我们通过设置draggableTextViewOnTouchListener来监听触摸事件。在触摸事件的不同阶段,我们可以根据需要执行相应的操作。在ACTION_DOWN阶段,我们保存了触摸点的偏移量,以便在移动阶段使用。在ACTION_MOVE阶段,我们根据触摸点的位置更新TextView的位置。

这样,当你在应用程序运行时触摸并拖动TextView时,它将根据你的手势进行移动


原文地址: http://www.cveoy.top/t/topic/iTb4 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录