이번 시간에는 애니메이션(Animation)과 랜덤 숫자(Random)를 통해 주사위 던지는 방법을 알아보겠습니다.
- 설명 -
1. 무작위로 선택된 숫자 보여주는 TextView
2. 무작위로 선택된 주사위 보여주는 TextView
3. 무작위 선택 기능 Button
4. 이미지 res -> drawable
<?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:id="@+id/rootView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:gravity="center"
tools:context=".MainActivity">
<TextView
android:id="@+id/resultText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="30sp"
android:textStyle="bold"/>
<ImageView
android:id="@+id/diceImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
android:src="@drawable/dice_one"/>
<Button
android:id="@+id/rollBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="50dp"
android:text="던지기"
android:textSize="25sp"/>
</LinearLayout>
- 설명 -
1. (1..6).random()
1 ~ 6 사이의 무작위 숫자 생성
2. when(randomNum)
조건문 랜덤 숫자에 따른 이미지 변수에 담기
3. ObjectAnimator.ofFloat
애니메이션 설정(뷰, 속성, 값... )
4. animatorRotate.duration
애니메이션 지속 시간(1000 = 1초)
5. animatorRotate.start()
애니메이션 실행
6. 참조 사이트
https://developer.android.com/guide/topics/graphics/prop-animation?hl=ko
속성 애니메이션 개요 | Android 개발자 | Android Developers
속성 애니메이션 개요 속성 애니메이션 시스템은 거의 모든 항목을 애니메이션으로 만들 수 있는 강력한 프레임워크입니다. 애니메이션을 정의하여 화면에 그리는지에 관계없이 시간 경과에
developer.android.com
class MainActivity : AppCompatActivity() {
lateinit var diceImage: ImageView
lateinit var resultText: TextView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
diceImage = findViewById(R.id.diceImage)
resultText = findViewById(R.id.resultText)
val rollBtn: Button = findViewById(R.id.rollBtn)
rollBtn.setOnClickListener {
//주사위 던지기
rollDice()
}
}
//주사위 던지기
private fun rollDice(){
//랜덤수
val randomNum: Int = (1..6).random()
//랜덤 이미지
val selectedImage = when(randomNum){
1 -> R.drawable.dice_one
2 -> R.drawable.dice_two
3 -> R.drawable.dice_three
4 -> R.drawable.dice_four
5 -> R.drawable.dice_five
else -> R.drawable.dice_six
}
//애니메이션(회전)
val animationRotate: ValueAnimator = ObjectAnimator
.ofFloat(diceImage, "rotation", 0f, 180f, 360f)
//지속 시간(1000 = 1초)
animationRotate.duration = 300
animationRotate.start()
//이미지 적용
diceImage.setImageResource(selectedImage)
resultText.text = "주사위 숫자: $randomNum"
}
}
2022.08.19 - [안드로이드] - [안드로이드 코틀린] 속성 애니메이션 (이미지를 움직이게 하는 방법)
[안드로이드 코틀린] 속성 애니메이션 (이미지를 움직이게 하는 방법)
이번 시간에는 속성 애니메이션을 통해 아이콘을 가로, 세로, 회전, 사라지고, 보이는 방법을 알아보겠습니다. 목차 1. 실행 화면 2. 메인 화면 activity_main.xml 3. 메인 코드 MainActivity.kt 1. 실..
aries574.tistory.com
2022.08.25 - [안드로이드] - [안드로이드 코틀린] 동적 메뉴(ActionMode) 만드는 방법
[안드로이드 코틀린] 동적 메뉴(ActionMode) 만드는 방법
이번 시간에는 메뉴를 원할 때만 보여주는 동적 메뉴 만드는 방법을 알아보겠습니다. 메뉴 폴더 만드는 방법과 파일 만드는 방법은 이전 포스팅을 보시면 됩니다. 2022.08.23 - [안드로이드] - [안드
aries574.tistory.com
2022.06.20 - [안드로이드] - [안드로이드 코틀린] 밀어서 화면 변경 ViewPager2 갤러리 느낌으로 만드는 방법
[안드로이드 코틀린] 밀어서 화면 변경 ViewPager2 갤러리 느낌으로 만드는 방법
이번 시간에는 뷰페이저2(ViewPager2)를 이용해서 이미지를 가로, 세로 방향으로 밀어서 갤러리 느낌으로 보여주는 방법을 알아보겠습니다. 목차 1. 실행 화면 2. 라이브러리 등록 3. dataBinding 설
aries574.tistory.com
[안드로이드 코틀린] 뒤로 가기 두 번 눌러 종료하는 방법 (0) | 2022.09.07 |
---|---|
[안드로이드 코틀린] 애니메이션 적용해서 배터리 충전하는 방법 (0) | 2022.09.06 |
[안드로이드 코틀린] SeekBar RGB 글씨 색상 조절 만드는 방법 (0) | 2022.09.02 |
[안드로이드 코틀린] 숫자 맞추기 게임 Up&Down 만드는 방법 (0) | 2022.09.01 |
[안드로이드 코틀린] 야구 게임 만드는 방법 part3 - 기능 구현 (0) | 2022.08.31 |
댓글 영역