Android의 Button은 사용자가 터치하면 액션을 실행하도록 만들어진 View이다.
Button의 주요속성은 다음과 같다.
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 = "이미지 버튼을 눌렀습니다"
}
}
}
}
}
실행 화면
