안드로이드 개발자의 창고
[28일차 Android] Button 본문
출처 : 안드로이드 앱스쿨 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의 문자열을 "이미지 버튼을 눌렀습니다"로 변경한다.
- setImageResource(R.drawable.imgflag8)
결과
![]() |
![]() |
![]() |
최초 실행 화면 | 버튼을 눌렀을 때 | 이미지 버튼을 눌렀을 때 |
'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 |