要禁止Android应用中的复制事件,你可以使用以下方法之一:
android:textIsSelectable="false"
属性,这将禁用文本的选择和复制功能。<TextView
android:id="@+id/textView"
android:text="This text cannot be copied"
android:textIsSelectable="false"
... />
android.text.method.ArrowKeyMovementMethod
类或 android.text.method.MovementMethod
接口来阻止文本选择和复制:TextView textView = findViewById(R.id.textView);
textView.setText("This text cannot be copied");
textView.setMovementMethod(null);
TextView
子类,并重写 onTextContextMenuItem()
方法:public class NonCopyableTextView extends TextView {
// ...
@Override
public boolean onTextContextMenuItem(int id) {
// 屏蔽复制事件
return id == android.R.id.copy || super.onTextContextMenuItem(id);
}
}
然后在布局文件中使用 NonCopyableTextView
替代 TextView
:
<com.example.myapplication.NonCopyableTextView
android:id="@+id/textView"
android:text="This text cannot be copied"
... />
这些方法可以禁止在应用中复制文本和触发复制事件。请注意,这些方法只能限制用户通过长按文本进行复制,无法完全阻止其他途径复制文本,如使用截屏等方式。