要实现可拖动的 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 时,它将根据你的手势进行移动。

Android Studio 可拖动 TextView 实现教程:代码示例和解析

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

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