Android UI 디자인의 슬라이드 세트에서 활동 디자인을 다소 복제하려고합니다 . 그러나 나는 매우 간단한 작업에 문제가 있습니다.
이미지와 같이 레이아웃을 만들었으며 헤더는 TextView
에 있습니다 RelativeLayout
. 이제의 배경색을 변경하고 싶지만 RelativeLayout
방법을 알 수 없습니다.
XML 파일 android:background
의 RelativeLayout
태그에서 속성을 설정할 수 있다는 것을 알고 있지만 무엇으로 설정해야합니까? 여러 곳에서 사용할 수있는 새로운 색상을 정의하고 싶습니다. 그것은인가 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가 있어야합니다. +id
res / 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));