Android 레이아웃 요소의 배경색 설정 헤더는 TextView에 있습니다 RelativeLayout. 이제의

Android UI 디자인의 슬라이드 세트에서 활동 디자인을 다소 복제하려고합니다 . 그러나 나는 매우 간단한 작업에 문제가 있습니다.

이미지와 같이 레이아웃을 만들었으며 헤더는 TextView에 있습니다 RelativeLayout. 이제의 배경색을 변경하고 싶지만 RelativeLayout방법을 알 수 없습니다.

XML 파일 android:backgroundRelativeLayout태그에서 속성을 설정할 수 있다는 것을 알고 있지만 무엇으로 설정해야합니까? 여러 곳에서 사용할 수있는 새로운 색상을 정의하고 싶습니다. 그것은인가 drawable또는은 string?

또한 Eclipse Android UI 디자이너에서 누락되어야하는 매우 간단한 방법이있을 것으로 기대합니까?

현재 몇 번의 클릭만으로 수행되는 활동이어야하므로 약간 실망했습니다. 어떤 도움이라도 대단히 감사합니다. 🙂

안드로이드 활동 디자인



답변

일반적으로 inside로 지정된 간단한 색상 리소스를 사용할 수 있습니다 res/values/colors.xml.

<color name="red">#ffff0000</color>

를 통해 이것을 사용하십시오 android:background="@color/red". 이 색상은 텍스트 색상과 같은 다른 곳에서도 사용할 수 있습니다. 동일한 방식으로 XML로 참조하거나을 통해 코드로 가져 오십시오 getResources().getColor(R.color.red).

드로어 블 리소스 를 배경으로 사용할 수도 있습니다. android:background="@drawable/mydrawable"9patch 드로어 블, 일반 비트 맵, 모양 드로어 블 등을 의미합니다.


답변

위의 답변은 훌륭합니다. 원한다면 프로그래밍 방식으로 갈 수도 있습니다.

먼저 레이아웃에 ID가 있어야합니다. +idres / layout / *. xml에 다음 줄 을 작성하여 추가하십시오 .

<RelativeLayout ...
...
android:id="@+id/your_layout_id"
...
</RelativeLayout>

그런 다음 Java 코드에서 다음을 변경하십시오.

RelativeLayout rl = (RelativeLayout)findViewById(R.id.your_layout_id);
rl.setBackgroundColor(Color.RED);

이와는 별도로 colors.xml에 색상이 정의되어 있으면 프로그래밍 방식으로 수행 할 수도 있습니다.

rl.setBackgroundColor(ContextCompat.getColor(getContext(), R.color.red));

답변

색상에 대해 android:background="#DC143C"또는 다른 RGB 값을 사용할 수 있습니다 . 여기에 언급 된 대로이 방법을 사용하는 데 아무런 문제가 없습니다.


답변

그만큼

res/values/colors.xml.

<color name="red">#ffff0000</color>
android:background="@color/red"

예는 나를 위해 작동하지 않았지만

android:background="#(hexidecimal here without these parenthesis)"

상대 레이아웃 요소에서 속성으로 나를 위해 일했습니다.


답변

색상을 빠르게 변경하고 싶을 때 (16 진수를 기억하지 않은 경우) android에는 다음과 같이 몇 가지 사전 설정 색상이 있습니다.

android:background="@android:color/black"

선택할 수있는 15 가지 색상이 있으며 빠르게 테스트 할 수 있으며 추가 파일을 설정할 필요가 없습니다.

values ​​/ colors.xml 파일을 설정하고 위에서 설명한대로 16 진을 사용하면 여전히 작동합니다.


답변

가능한 4 가지 방법을 사용하십시오.

1. 코 틀린

val ll = findViewById<LinearLayout>(R.id.your_layout_id)
ll.setBackgroundColor(ContextCompat.getColor(this, R.color.white))

2. 데이터 바인딩

<LinearLayout
    android:background="@{@color/white}"

또는 더 유용한 진술

<LinearLayout
    android:background="@{model.colorResId}"

3. XML

<LinearLayout
    android:background="#FFFFFF"

<LinearLayout
    android:background="@color/white"

4. 자바

LinearLayout ll = (LinearLayout) findViewById(R.id.your_layout_id);
ll.setBackgroundColor(ContextCompat.getColor(this, R.color.white));

답변

Android Studio 2.1.2 (또는 이전 버전)에서는 색상환에서 선택할 수 있습니다.

내 레이아웃에 다음을 추가하여 이것을 얻었습니다.

android:background="#FFFFFF"

그런 다음 FFFFFF 색상을 클릭하고 나타난 전구를 클릭했습니다.