9. 【Android/Kotlin】동적으로 View 추가
9020 단어 안드로이드AndroidStudioKotlin
소개
DreamHanks의 MOON입니다.
지난번에는 WebView
라는 View에 대해 설명했습니다.
8. 【Android/Kotlin】웹뷰(WebView)
이번에는 동적으로 View를 추가하는 방법에 대해 설명하겠습니다.
동적으로 추가 의미
이전에는 View 및 레이아웃을 추가하기 위해 레이아웃의 xml 파일에 추가했지만,
그 방법은 정적으로 추가하는 방법입니다.
예) 채팅 앱에서 대화 내용이 추가되면 화면에 텍스트를 추가해야 하는 상황이 있습니다.
동적으로 View를 추가하는 방법은 Activity에서 View를 추가하는 것입니다.
이번에는 텍스트를 입력하고 그 텍스트를 화면에 동적으로 추가하여 표시합니다.
Activity에서 View 추가
· 레이아웃 xml 만들기
activity_addview.xml<?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"
tools:context=".AddTextViewActivity"
android:gravity="center">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/text_et"
android:inputType="text"
android:hint="テキストを入力してください。"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/add_btn"
android:text="追加"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/text_ll"
android:orientation="vertical"/>
</LinearLayout>
xml에는 빈 레이아웃을 버튼 아래에 추가합니다.
· Activity 만들기
AddTextViewActivity.ktpackage com.example.practiceapplication
import android.app.AlertDialog
import android.content.DialogInterface
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log.d
import android.view.ContextThemeWrapper
import android.widget.*
import kotlinx.android.synthetic.main.activity_listview.*
import javax.xml.validation.Validator
class AddTextViewActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_addview)
val text_et = findViewById<EditText>(R.id.text_et) //EditText(入力エリア)
val add_btn = findViewById<Button>(R.id.add_btn) //追加ンボタン
val text_ll = findViewById<LinearLayout>(R.id.text_ll) //空LinearLayout
//追加ボタンのクリックイベントを設定
add_btn.setOnClickListener {
//テキストビューを生成
val textView = TextView(this)
//生成されたテキストに入力されたテキストを代入
textView.text = text_et.text.toString()
//テキストビューのサイズを修正
textView.textSize = 15f
//ボタン下の空LinearLayoutにテキストビューを追加
text_ll.addView(textView)
}
}
}
앱 시작
· 초기 화면
· こんにちは
를 입력하고 버튼을 클릭하면
・ よろしくお願いします。
까지 입력하고 버튼을 클릭한 경우
끝에
이번에는 `동적으로 View를 추가하는 방법을 설명했습니다.
다음 번에는 라이브러리를 추가하는 방법에 대해 설명합니다.
10. 【Android/Kotlin】 라이브러리 추가
최신 내용은 아래 링크(DreamHanks의 블로그)에서 확인할 수 있습니다.
DreamHanks 블로그(Android/Kotlin 앱 개발)
Reference
이 문제에 관하여(9. 【Android/Kotlin】동적으로 View 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/DreamHanks/items/7f2449b01aabf3fe42c7
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이전에는 View 및 레이아웃을 추가하기 위해 레이아웃의 xml 파일에 추가했지만,
그 방법은 정적으로 추가하는 방법입니다.
예) 채팅 앱에서 대화 내용이 추가되면 화면에 텍스트를 추가해야 하는 상황이 있습니다.
동적으로 View를 추가하는 방법은 Activity에서 View를 추가하는 것입니다.
이번에는 텍스트를 입력하고 그 텍스트를 화면에 동적으로 추가하여 표시합니다.
Activity에서 View 추가
· 레이아웃 xml 만들기
activity_addview.xml<?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"
tools:context=".AddTextViewActivity"
android:gravity="center">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/text_et"
android:inputType="text"
android:hint="テキストを入力してください。"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/add_btn"
android:text="追加"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/text_ll"
android:orientation="vertical"/>
</LinearLayout>
xml에는 빈 레이아웃을 버튼 아래에 추가합니다.
· Activity 만들기
AddTextViewActivity.ktpackage com.example.practiceapplication
import android.app.AlertDialog
import android.content.DialogInterface
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log.d
import android.view.ContextThemeWrapper
import android.widget.*
import kotlinx.android.synthetic.main.activity_listview.*
import javax.xml.validation.Validator
class AddTextViewActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_addview)
val text_et = findViewById<EditText>(R.id.text_et) //EditText(入力エリア)
val add_btn = findViewById<Button>(R.id.add_btn) //追加ンボタン
val text_ll = findViewById<LinearLayout>(R.id.text_ll) //空LinearLayout
//追加ボタンのクリックイベントを設定
add_btn.setOnClickListener {
//テキストビューを生成
val textView = TextView(this)
//生成されたテキストに入力されたテキストを代入
textView.text = text_et.text.toString()
//テキストビューのサイズを修正
textView.textSize = 15f
//ボタン下の空LinearLayoutにテキストビューを追加
text_ll.addView(textView)
}
}
}
앱 시작
· 초기 화면
· こんにちは
를 입력하고 버튼을 클릭하면
・ よろしくお願いします。
까지 입력하고 버튼을 클릭한 경우
끝에
이번에는 `동적으로 View를 추가하는 방법을 설명했습니다.
다음 번에는 라이브러리를 추가하는 방법에 대해 설명합니다.
10. 【Android/Kotlin】 라이브러리 추가
최신 내용은 아래 링크(DreamHanks의 블로그)에서 확인할 수 있습니다.
DreamHanks 블로그(Android/Kotlin 앱 개발)
Reference
이 문제에 관하여(9. 【Android/Kotlin】동적으로 View 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/DreamHanks/items/7f2449b01aabf3fe42c7
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<?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"
tools:context=".AddTextViewActivity"
android:gravity="center">
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/text_et"
android:inputType="text"
android:hint="テキストを入力してください。"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/add_btn"
android:text="追加"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/text_ll"
android:orientation="vertical"/>
</LinearLayout>
package com.example.practiceapplication
import android.app.AlertDialog
import android.content.DialogInterface
import android.content.Intent
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.util.Log.d
import android.view.ContextThemeWrapper
import android.widget.*
import kotlinx.android.synthetic.main.activity_listview.*
import javax.xml.validation.Validator
class AddTextViewActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_addview)
val text_et = findViewById<EditText>(R.id.text_et) //EditText(入力エリア)
val add_btn = findViewById<Button>(R.id.add_btn) //追加ンボタン
val text_ll = findViewById<LinearLayout>(R.id.text_ll) //空LinearLayout
//追加ボタンのクリックイベントを設定
add_btn.setOnClickListener {
//テキストビューを生成
val textView = TextView(this)
//生成されたテキストに入力されたテキストを代入
textView.text = text_et.text.toString()
//テキストビューのサイズを修正
textView.textSize = 15f
//ボタン下の空LinearLayoutにテキストビューを追加
text_ll.addView(textView)
}
}
}
· 초기 화면
·
こんにちは
를 입력하고 버튼을 클릭하면・
よろしくお願いします。
까지 입력하고 버튼을 클릭한 경우끝에
이번에는 `동적으로 View를 추가하는 방법을 설명했습니다.
다음 번에는 라이브러리를 추가하는 방법에 대해 설명합니다.
10. 【Android/Kotlin】 라이브러리 추가
최신 내용은 아래 링크(DreamHanks의 블로그)에서 확인할 수 있습니다.
DreamHanks 블로그(Android/Kotlin 앱 개발)
Reference
이 문제에 관하여(9. 【Android/Kotlin】동적으로 View 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/DreamHanks/items/7f2449b01aabf3fe42c7
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(9. 【Android/Kotlin】동적으로 View 추가), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/DreamHanks/items/7f2449b01aabf3fe42c7텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)