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. 실행화면
맘에 드셨다면 공감부탁드려요!!!
[안드로이드]DatePicker 달력(캘린더) 만들어보기 (0) | 2020.12.24 |
---|---|
[안드로이드]TimePicker 내가 선택한 알람시간 텍스트뷰에 보여주기 (0) | 2020.12.23 |
[안드로이드]기본 아이콘 쉽게 가져오는 방법 (0) | 2020.12.21 |
[안드로이드]ViewFlipper 화면전환 쉽게 만드는법 (0) | 2020.12.20 |
[안드로이드]라이브러리 찾아 등록하는 방법 (0) | 2020.12.19 |
댓글 영역