728x90
안드로이드에서 View객체의 백그라운드 색상을 지정 및 변경할 수 있는 방법으로
xml파일에 view객체를 정의할 때 지정해주는 방법 이외에 프로그램에서 Color 객체를 통해
변경하는 방법에 대해 알아보도록 하겠습니다.
먼저 간단하게 Layout의 배경 색상을 변경하는 것을 예로 들어보겠습니다.
LinearLayout을 다음과같이 정의하도록 합니다.
<LinearLayout
android:id="@+id/1page"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
</LinearLayout>
여기에서 background 색상을 지정하는 방법은 다음과 같습니다.
<LinearLayout
android:id="@+id/1page"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:background="#ffffff">
</LinearLayout>
android:background라는 구문을 통해 색상표에 표시되는 흰색인
#ffffff 값을 속성값으로 지정해주면 1page Linearlayout은 하얀색의 배경을 표시하게 됩니다.
여기까지 만들었지만 어플이 동작하면서 동적으로 배경색이 변경되어야 한다면
예를 들어 두 개의 버튼을 놓고 활성화 시에는 검은색, 비활성화 시에는 하얀색을
표시한다고 가정하고 background의 색상을 변경하는 함수는 다음과 같습니다.
LinearLayout 1page;
1page = (LinearLayout) view.findViewById(R.id.1page);
1page.setBackgroundColor(Color.parseColor("#000000"));
1page 객체는 setBacgroundColor를 통해 색상 변경을 하며
그 인자로는 색상표의 코드인 #000000 형태의 코드를 넣어야 하는데
setBackgroundColor 함수에서는 직접적으로 받지 못하기에
Color.parseColor를 통해서 변환하여 넘겨줍니다.
위 방법을 사용하면 안드로이드에서 지원하는 모든 객체의 배경 색상을 변경할 수 있습니다.
728x90
반응형
'안드로이드' 카테고리의 다른 글
안드로이드 스튜디오 느릴 땐 메모리 설정 (22) | 2022.03.04 |
---|---|
안드로이드 Stack Clear (9) | 2022.03.03 |
안드로이드 Cleartext HTTP traffic 에러 해결 (4) | 2022.03.02 |
구글스토어 어플 출시 거부 (로그인 정보 미제공) 해결 (12) | 2022.02.17 |
안드로이드 화면 세로 고정 (2) | 2022.02.15 |
댓글