상세 컨텐츠

본문 제목

[안드로이드 코틀린] 클립보드(Clipboard) 텍스트 복사(Copy)&붙여 넣기(paste) 하는 방법

안드로이드

by aries574 2022. 8. 16. 13:17

본문


이번 시간에는 텍스트를 길게 누르면 복사해서 붙여 넣기를 할 수 있는 클립보드 기능을 알아보겠습니다.


목차

1. 실행 화면
2. 메인 화면 activity_main.xml
3. 메인 코드 MainActivity.kt


1. 실행 화면

 


2. 메인 화면 activity_main.xml

- 설명 -

1. 클립보드에 추가할 textView

2. 복사한 텍스트 보여줄 EditText

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:orientation="vertical"
    android:gravity="center"
    tools:context=".MainActivity">

     <TextView
         android:id="@+id/copy_text"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="길게 눌러주세요"
         android:textSize="40sp"/>

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="30dp"
        android:hint="붙여넣기 해주세요"
        android:textSize="30sp"/>

</LinearLayout>

 


3. 메인 코드 MainActivity.kt

- 설명 -

1. val clipboardManager: ClipboardManager

 클립보드 관리자

2. val clipData: ClipData

 텍스트를 클립보드에 저장하기 위한 변수 타입

3. clipboardManager.setPrimaryClip(clipData)

 텍스트를 클립보드에 저장

class MainActivity : AppCompatActivity(){

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)

        //객체 생성
        val copyText: TextView = findViewById(R.id.copy_text)

        //텍스트뷰 길게 클릭 이벤트
        copyText.setOnLongClickListener {

            val text: String = copyText.text.toString()

            //클립데이터 생성
            createClipData(text)

            true
        }
    }//onCreate

    //클립데이터 생성
    private fun createClipData(message: String){

        val clipboardManager: ClipboardManager = applicationContext
            .getSystemService(Context.CLIPBOARD_SERVICE) as ClipboardManager

        val clipData: ClipData = ClipData.newPlainText("message", message)

        //클립보드에 배치
        clipboardManager.setPrimaryClip(clipData)

        Toast.makeText(applicationContext, "복사되었습니다.", Toast.LENGTH_SHORT).show()
    }
}

2022.08.11 - [안드로이드] - [안드로이드 코틀린 ] RecyclerView Item Animation 서서히 나타나는 효과 주는 방법 part1

 

[안드로이드 코틀린 ] RecyclerView Item Animation 서서히 나타나는 효과 주는 방법 part1

recyclerView에 애니메이션 기능을 적용해서 서서히 리스트가 보이는 방법을 알아보겠습니다. 이번 시간에는 리스트에 보여지는 아이템 관련 화면과 기능을 구현하겠습니다. 목차 1. 아이템 클래

aries574.tistory.com

2022.08.08 - [안드로이드] - [안드로이드 코틀린] 같은 그림 찾기 게임 만드는 방법 part2 - 이미지 섞기& 보여주기

 

[안드로이드 코틀린] 같은 그림 찾기 게임 만드는 방법 part2 - 이미지 섞기& 보여주기

이번 시간에는 같은 그림 찾기 part2 이미지 섞기와 섞은 이미지를 보여주는 방법을 알아보겠습니다. 화면 구성은 아래 링크를 들어가시면 됩니다. 2022.04.02 - [안드로이드] - [안드로이드] 같은 그

aries574.tistory.com

2022.08.03 - [안드로이드] - [안드로이드 코틀린] 애니메이션으로 뷰(View) 표시 및 숨기기 - 크로스페이드(CrossFade) 쉽게 만드는 방법

 

[안드로이드 코틀린] 애니메이션으로 뷰(View) 표시 및 숨기기 - 크로스페이드(CrossFade) 쉽게 만드

이번 시간에는 2개의 이미지를  애니메이션(Animation)을 이용해서 변경해주는 방법에 대하여 알아보겠습니다. 목차 1. 실행 화면 2. 메인 화면 activity_main.xml 3. 메인 코드 MainActivity.kt 1. ..

aries574.tistory.com

 

반응형

관련글 더보기

댓글 영역