Archives
Recent Posts
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Today
Total
관리 메뉴

안드로이드 개발자의 창고

[28일차 Android] Button 본문

Computer/Android

[28일차 Android] Button

Wise-99 2023. 6. 10. 04:08

 

 

 

출처 : 안드로이드 앱스쿨 2기 윤재성 강사님 수업 PPT

 

 

 

📖 Button

  • 사용자가 클릭하면 개발자가 만든 코드를 동작시켜 주는 View
  • 문자열을 표시하는 Button과 이미지를 표시하는 ImageButton이 있다.

주요 속성

속성 설명
text Button의 문자열을 설정
srcCompat ImageButton의 이미지를 설정, 이미지 버튼을 사용할 때는 background 색상에 투명도를 0으로 설정해서 사용

 

 

 

예제 코드

activity_main.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=".MainActivity" >

    <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="TextView"
        android:textAppearance="@style/TextAppearance.AppCompat.Large" />

    <Button
        android:id="@+id/button"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="버튼1" />

    <ImageButton
        android:id="@+id/imageButton"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#00FFFFFF"
        app:srcCompat="@drawable/img_android" />

    <Button
        android:id="@+id/button2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="Button" />

    <ImageButton
        android:id="@+id/imageButton2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:srcCompat="@drawable/img_android" />
</LinearLayout>

 

 

 

MainActivity.kt

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.test.android11_button.databinding.ActivityMainBinding

class MainActivity : AppCompatActivity() {

    lateinit var activityMainBinding: ActivityMainBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

        activityMainBinding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(activityMainBinding.root)

        activityMainBinding.run{

            button2.run{

                text = "버튼 입니다"

                setOnClickListener {
                    activityMainBinding.textView.text = "버튼을 눌렀습니다"
                }
            }

            imageButton2.run{

                setImageResource(R.drawable.imgflag8)

                setOnClickListener {
                    activityMainBinding.textView.text = "이미지 버튼을 눌렀습니다"
                }
            }
        }
    }
}

코드 리뷰

  • button2.run{ ... }
    • setOnClickListener { ... } : button2를 눌렀을 때 textView의 문자열을 "버튼을 눌렀습니다"로 변경한다.
  • imageButton2.run{ ... }
    • setImageResource(R.drawable.imgflag8)
      • imageButton2의 이미지를 설정한다.
      • R은 res 폴더를 의미한다.
    • setOnClickListener { ... } : imageButton2를 눌렀을 때 textView의 문자열을 "이미지 버튼을 눌렀습니다"로 변경한다.

 

 

 

결과

최초 실행 화면 버튼을 눌렀을 때 이미지 버튼을 눌렀을 때

 

'Computer > Android' 카테고리의 다른 글

[28일차 Android] LogCat  (0) 2023.06.10
[28일차 Android] EditText  (0) 2023.06.10
[28일차 Android] TextView  (0) 2023.06.10
[28일차 Android] Space  (0) 2023.06.10
[28일차 Android] Include Other Layout  (0) 2023.06.10