android 클릭 버튼 제어 그림 전환 실현

2829 단어 android그림 전환
본 논문 의 사례 는 안 드 로 이 드 가 버튼 을 누 르 면 이미지 전환 을 제어 하 는 구체 적 인 코드 를 공유 하여 여러분 께 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.

코드:

class MainActivity : AppCompatActivity() {

 override fun onCreate(savedInstanceState: Bundle?) {
  super.onCreate(savedInstanceState)
  setContentView(R.layout.activity_main)
  initView()
 }

 private fun initView() {
  val chooseGridFriendBtn: Button = findViewById(R.id.chooseGridFriend)
  chooseGridFriendBtn.setOnClickListener { chooseGirlFriend() }
 }
 //         
 private fun chooseGirlFriend() {
  val chooseGirlfriend = ChooseGirlfriend(5) //   5  
  val girlFriend = chooseGirlfriend.renderChoose()
  Toast.makeText(this, "" + girlFriend, Toast.LENGTH_SHORT).show()

  //       
  val girlFriendImageSource = when (girlFriend){
   1 -> R.drawable._0
   2 -> R.drawable._1
   3 -> R.drawable._2
   4 -> R.drawable._3
   5 -> R.drawable._4
   else -> R.drawable.dice
  }

  //       
  val girlFriendImageView: ImageView = findViewById(R.id.imageView)
  girlFriendImageView.setImageResource(girlFriendImageSource)

 }

}

/*
*      
*         1-6
* */

class ChooseGirlfriend(private val numDice: Int = 6) {
 fun renderChoose(): Int {
  return (1..numDice).random()
 }
}

<?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">
 
 <ImageView
  android:id="@+id/imageView"
  android:layout_width="215dp"
  android:layout_height="150dp"
  android:layout_gravity="center"
  android:layout_marginVertical="20dp"
  android:contentDescription="@string/dice_image"
  app:srcCompat="@drawable/dice" />

 <Button
  android:id="@+id/chooseGridFriend"
  android:layout_width="237dp"
  android:layout_height="wrap_content"
  android:layout_gravity="center"
  android:text="@string/choose_a_girlfriend" />
</LinearLayout>
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

좋은 웹페이지 즐겨찾기