2020/06/08 - [안드로이드] - [안드로이드] 라디오버튼 예제 배경색 바꾸기
이전에는 라디오버튼으로 배경색을 바꿨다면, 이번에는 버튼클릭시 랜덤한 배경색으로 바꿔보겠습니다.
자바에서는 랜덤숫자를 생성해주는 함수가 있습니다. Math.random() 입니다.
자바를 어느정도 하셨다면 알고계시겠죠? 이 함수를 통해 랜덤한 숫자를 생성한 후
백그라운드 색상을 바꿔주는 함수 setBackgroundColor함수와 응용을 하는 것입니다.
setBackgroundColor에는 rgb값을 넣어서 색상을 변경할 수 있으며, 빨강,파랑,녹색값을 정수로 넣어줍니다.
정리하자면, 랜덤함수로 랜덤한 3개의 숫자를 생성해준다. 그 값을 setBackgroundColor에 넣어준다. 끝.
그러면 클릭할 때마다 알아서 배경색상이 랜덤으로 바뀔 것입니다.
그럼 소스를 보여드리겠습니다.
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">
<LinearLayout
android:id="@+id/layout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:id="@+id/changeBtn"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="배경색 랜덤 바꾸기"/>
</LinearLayout>
</LinearLayout>
MainActivity.java
import androidx.appcompat.app.AppCompatActivity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.LinearLayout;
public class MainActivity extends AppCompatActivity {
//레이아웃 선언
LinearLayout layout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//1. 레이아웃 객체생성
layout = findViewById(R.id.layout);
//2. 버튼 객체 생성
Button changeBtn = findViewById(R.id.changeBtn);
//3. 버튼 클릭시 이벤트
changeBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view)
{
//rgb에 들어갈 변수 객체 생성
int red = 0;
int blue =0;
int green = 0;
//랜덤으로 값을 넣는다. 0 ~ 255
red = (int)(Math.random() * 255);
blue = (int)(Math.random() * 255);
green = (int)(Math.random() * 255);
//레이아웃 색상 변경
layout.setBackgroundColor(Color.rgb(red,green,blue));
} //onClick()
}); //changeBtn.setOnClickListener
}//onCreate()
}
[안드로이드] 현재 WIFI 네트워크 상태 알아보기 manager.getActiveNetworkInfo() (0) | 2020.06.10 |
---|---|
[안드로이드]스피너 드롭다운 셀렉트박스 배경색 바꾸기 setOnItemSelectedListener (0) | 2020.06.09 |
[안드로이드] 라디오버튼 예제 배경색 바꾸기 setOnCheckedChangeListener (0) | 2020.06.08 |
[안드로이드] 라디오버튼 예제 RadioGroup RadioButton setOnCheckedChangeListener (0) | 2020.06.07 |
[안드로이드]sqlite DB 위치 알아보기 (0) | 2020.06.06 |
댓글 영역