Membuat copy to clipboard di android
Copy to clipboard atau papan klip sering digunakan untuk menyalin text untuk di tempel atau paste ke tempat lainnya, fitur ini sangat berguna jika kita ingin menyalin sesuatu agar tidak kerepotan, seperti memindahkan text dari chat untuk di searching di browser atau sebaliknya, atau kita juga bisa memanfaatkan fitur ini kepada aplikasi yang kita buat seperti aplikasi scanner barcode kemudian kita copy kode hasil scannya.
Langsung saja untuk membuat fungsi copy to clipboard pertama kita buat project baru terlebih dahulu, secara gampang saya akan membuatnya dari empy activity
Berikan nama aplikasi dan terserah kalian dan klik Finish. Saya akan membuat TextView dan ImageButton sebagai icon copy dan EditText secara sederhana yang nantinya kita akan jadikan tempat paste dari hasil copy to clipboard.
Pertama kita akan menambahkan icon copy, caranya expand terlebih dahulu direktori res kemudian pada direktori layout klik kanan dan pilih new kemudian vector asset
Kemudian akan muncul menu seperti dibawah ini :
Klik logo android tersebut dan search copy vector icon seperti gambar dibawah, jika sudah klik OK.
Selanjutnya kita bisa klik Next dan Klik Finish. Tahap untuk menambahkan vector icon copy telah selesai, tahap selanjutnya kita akan membuat tampilan sederhana, saya menggunakan Constraint Layout pada activity_main.xml, berikut kodenya :
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
android:layout_marginTop="200dp"
android:textColor="#000"
android:textSize="18dp"
app:layout_constraintLeft_toLeftOf="parent"
android:layout_marginLeft="12dp"
app:layout_constraintTop_toTopOf="parent" />
<ImageButton
android:id="@+id/iconCopy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="200dp"
android:background="@null"
android:src="@drawable/ic_baseline_file_copy_24"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.942"
app:layout_constraintStart_toEndOf="@+id/text1"
app:layout_constraintTop_toTopOf="parent" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="12dp"
android:layout_marginStart="12dp"
android:layout_marginEnd="12dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/text1" />
</androidx.constraintlayout.widget.ConstraintLayout>
Jika sudah kita bisa lanjutkan untuk membuat code pada MainActivity.java kita bisa buat seperti kode dibawah, terdapat tambahan Toast pada fungsi copyToClipBoard agar menampilkan pesan singkat agar kita tahu bahwa kita telah mengcopy text tersebut. berikut code pada MainActivity.java :
package com.example.copytoclipboard;
import androidx.appcompat.app.AppCompatActivity;
import android.content.ClipData;
import android.content.ClipboardManager;
import android.content.Context;
import android.os.Bundle;
import android.view.View;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
TextView text1;
ImageButton btnCopy;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text1 = (TextView)findViewById(R.id.text1);
btnCopy = (ImageButton)findViewById(R.id.iconCopy);
btnCopy.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
copyToClipBoard();
}
});
}
private void copyToClipBoard() {
String getTextFromtext1 = text1.getText().toString();
ClipboardManager clipboardManager = (ClipboardManager)getSystemService(Context.CLIPBOARD_SERVICE);
ClipData clipData = ClipData.newPlainText("text1 copy", getTextFromtext1);
clipboardManager.setPrimaryClip(clipData);
Toast.makeText(this, "Hasil text1 di copy", Toast.LENGTH_SHORT).show();
}
}
Selanjutnya kita bisa jalankan aplikasi, dan berikut adalah hasilnya :
Sekian untuk membuat fungsi sederhana copy to clipboard dan Terima kasih 😊