상세 컨텐츠

본문 제목

[안드로이드]버튼 색상 모양 코드에서 변경하는 방법

안드로이드

by aries574 2020. 12. 22. 11:20

본문


2020/06/02 - [안드로이드] - [안드로이드] 버튼 색상 바꾸기, 버튼 클릭시 색상 변경


이번 시간에는 코드에서 버튼 색상 모양 바꾸는 방법을 알아보겠습니다. 

이전 방법에는 버튼의 속성을 drawable로 만들고 xml에서 속성을 적용하는 방법이었다면

이번에는 코드에서 동적으로 바꾸는 방법을 알려드리겠습니다. 


1. 화면구현(activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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"
tools:context=".MainActivity">

<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true"
android:text="버튼"

/>


</RelativeLayout>


2. 버튼 drawable 파일 생성(res -> drawable -> New -> Drawable Resource File)

파일명은 button_shape 로 하겠습니다.

button_shape.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<corners
android:radius="30dp"
/>
<solid
android:color="@android:color/holo_blue_light"
/>
<padding
android:top="0dp"
android:bottom="0dp"
android:left="0dp"
android:right="0dp"
/>
<size
android:width="100dp"
android:height="100dp"
/>
</shape>


3. 기능구현(MainActivity.java)

setBackgroundResource메소드를 통해서 만들어 놓은 button_Shape.xml을 호출하는 것입니다.

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

private Button button;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
button.setBackgroundResource(R.drawable.button_shape);
}
});
}
}


3. 실행화면




맘에 드셨다면 공감부탁드려요!!!

반응형

관련글 더보기

댓글 영역