android - 백그라운드 - 안드로이드 액티비티 배경색 변경




Android 레이아웃 요소의 배경색 설정 (5)

Android 스튜디오 2.1.2 (또는 이전 버전)을 사용하면 색상환에서 선택할 수 있습니다.

레이아웃에 다음을 추가하여이 작업을 수행했습니다.

android:background="#FFFFFF"

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

나는 안드로이드 UI 디자인에서 일련의 슬라이드에서 활동의 디자인을 다소 복제하려하고있다. 그러나 나는 아주 간단한 작업으로 문제를 겪고있다.

이미지에 표시된대로 레이아웃을 만들었으며 헤더는 RelativeLayoutTextView 입니다. 이제 RelativeLayout 배경색을 변경하고 싶지만, 어떻게 그럴 수 있는지 알 수는 없습니다.

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

또한 필자는 이클립스 안드로이드 UI 디자이너에서 빠뜨릴 수있는 아주 간단한 방법이있을 것으로 기대하고있다.

나는 이것이 최대로 몇 번의 클릭만으로 수행되는 활동이어야하므로 조금은 좌절감을 느낍니다. 그래서 어떤 도움을 주시면 감사하겠습니다. :)


그만큼

res/values/colors.xml.

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

예가 나를 위해 효과가 없었지만

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

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


위의 답변은 정적입니다. 저는 역동적 인 답을 줄 것이라고 생각했습니다. 동기화가 필요한 두 파일은 레이아웃이있는 foo.xml 과이 R.layout.foo 해당하는 Java 클래스에 해당하는 activity_bar.java 입니다.

foo.xml 에서 전체 레이아웃에 대한 ID를 설정합니다.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:id="@+id/foo" .../>

그리고 activity_bar.java 에서 onCreate() 에서 색상을 설정합니다.

public class activity_bar extends AppCompatActivty {

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

            //Set an id to the layout
        RelativeLayout currentLayout = 
                    (RelativeLayout) findViewById(R.id.foo);

        currentLayout.setBackgroundColor(Color.RED);
        ...
    }
    ...
}

이게 도움이 되길 바란다.


위의 답변은 훌륭합니다. 원하는 경우 프로그램 방식으로 갈 수도 있습니다.

먼저 레이아웃에 ID가 있어야합니다. res / layout / *에 다음 +id 행을 써서 추가하십시오. 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 값을 사용할 수 있습니다. here 명시된 바와 같이이 방법을 사용하여 문제가 없습니다.





adt