[Android] Button

Jbro·2023년 8월 30일

Android의 Button은 사용자가 터치하면 액션을 실행하도록 만들어진 View이다.

Button의 주요속성은 다음과 같다.

  • android:layout_width: Button의 가로 크기를 지정한다. wrap_content로 설정하면 버튼의 텍스트에 따라 크기가 조절된다.
  • android:layout_height: Button의 세로 크기를 지정한다. wrap_content로 설정하면 버튼의 텍스트에 따라 크기가 조절된다.
  • android:text: 버튼에 표시될 텍스트를 지정한다.
  • android:onClick: 버튼을 클릭했을 때 실행할 메서드의 이름을 지정한다. 이 속성을 설정하면 해당 메서드가 버튼의 클릭 이벤트 핸들러로 자동으로 연결된다.

Button을 이용한 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 코드

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 = "이미지 버튼을 눌렀습니다"
                }
            }
        }


    }
}

실행 화면

profile
안드로이드 개발자 꿈나무

0개의 댓글