상세 컨텐츠

본문 제목

[안드로이드] 코드에서 BackgroundColor 값 가져오는 방법

안드로이드

by aries574 2020. 4. 14. 16:34

본문


Button의 속성중에서 배경색(BackgroundColor)을 코드로 가져오는 방법을

알아보겠습니다.

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/btn_color"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="버튼색상 변경"
        android:background="@color/purple_200"
        android:layout_centerHorizontal="true"
        android:layout_centerVertical="true"
        />

</RelativeLayout>

 

2.메인코드(MainActivity.java)

getBackground() 메소드를 통해 배경색 호출, ColorDrawable 객체에 담아

배경색의 값을 알 수 있습니다.

import androidx.appcompat.app.AppCompatActivity;
import android.graphics.drawable.ColorDrawable;
import android.os.Bundle;
import android.util.Log;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

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

        Button btn_color = findViewById(R.id.btn_color);

        ColorDrawable color = (ColorDrawable) btn_color.getBackground();

        int bgColor = color.getColor();

       Toast.makeText(this, "배경색은: "  + bgColor, Toast.LENGTH_LONG).show();
    }
}
반응형

관련글 더보기

댓글 영역