▶ 최신 버전의 안드로이드 스튜디오로 앱을 제작 시 둥글면서 보라색 배경의 기본 버튼이 제공됩니다. 하지만 이런 기본 제공 되는 버튼의 스타일이 썩 맘에 들지는 않는데요, 그래서 버튼의 모서리 곡률도 조절해서 사각버튼도 만들고 테두리 두께와 색상도 바꾸고 버튼의 배경 색상을 바꾸어 보는 실습을 준비했습니다.
아래 이미지가 오늘 실습의 결과물입니다.
각각을 버튼으로 만들었으니, 각각의 버튼을 클릭할 때마다 각 버튼의 컬러 코드와, 테두리(Radius) 반지름 값과, 두께를 Toast 함수를 이용해서 메시지로 표시하도록 하였습니다.
그럼, 코드 작성에 대해 설명드릴게요.
먼저, 안드로이드 스튜디오에서 새프로젝트를 열고, Empty Views Activity를 선택해 주세요.
그리고, 앱을 실행하면 제일 처음 뜨는 화면이 있는데, 기본적으로는 MainActivity로 지정되어 있어서, activity_main.xml 파일이 로드되어 화면에 보이게 되는데요, 우리는 지금 activity_intro.xml 파일을 먼저 띄워 주는 것으로 바꾸어야 하기 때문에, 아래 이미지를 참고해서 변경해 보세요. app 》 manifests 》 AndroidMainfest.xml 파일을 열어서 → activity name이 .intro로 되어 있는 부분의 android:exported="false" 부분을 true로 변경하고 , → activity name이 .MainActivity로 되어 있는 부분의 android:exported="true" 부분을 false로 변경하면 됩니다.
그리고 .intro 부분과 .MainActivity 부분의 위치를 바꾸어 주세요. (단, 복붙해서 바꿀 때, /> 와 > 표시가 잘못되지 않도록 주의하세요)
아래는 변경한 모습입니다.
여기까지 해놓고 실행시켜 보면 인트로 화면이 먼저 뜨는 것을 볼 수 있습니다.
이제, 인트로 화면이 5초 뒤에 사라지도록 해볼 텐데요, 아래처럼 intro.kt에 코드를 작성해 주세요.
class intro : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_intro)
Handler(Looper.getMainLooper()).postDelayed({
val intent = Intent(this@intro, MainActivity::class.java)
startActivity(intent)
finish()
}, 5000)
}
}
위 코드에서 마지막에 보이는 5000 수치를 변경하면 시간을 조절할 수 있습니다. (1000 → 1초)
Handler 클래스의 postDelayed 메서드를 이용해서 MainActivity로 이동하도록 하였는데요, 만약, Handler 글자가 빨간색으로 되어 에러 표시가 난다면, 마우스를 Handler 글자 위에 올려놓은 상태에서 Alt+Enter를 눌러 해당 클래스를 import 하여 추가해 주면 됩니다.