나는이 질문이 이미 어딘가에 대답되었다고 확신한다. 그냥 너무 흔한 것 같습니다. 그러나 나는 그 해답을 찾을 수 없다. 나는 또한 해결책을 찾아 낼 수 없다.선택한 위젯의 테마 별 색상
내가 다른 배경 색상을 내 TableRow의 중 하나를 원하는 :
다음은 문제입니다. 간단합니다. 그냥 추가하면됩니다.
android:background="#123456"
TableRow의 XML 선언에서. 그러나 저는 또한 제 신청서에 두 가지 주제가 있기를 바랍니다. 다른 테마에서 TableRow는 다른 배경색을 가져야합니다. 난 그냥 테마 안에 색상 값을 정의하고 그것을 사용하는 방법을 찾을 수 없습니다. TableRow의 선언에,
<style name="Theme.MyApp" parent="@style/Theme.Light">
<color "my_cool_color">#123456</color>
</style>
<style name="Theme.MyApp.Dark" parent="@style/Theme.Dark">
<color "my_cool_color">#654321</color>
</style>
그리고 : :이 같은 것을 입력하고 싶습니다 내가 테마를 변경할 때
android:background="@color/my_cool_color"
그래서, 하나 TableRow의 배경의 색상도 변경됩니다. 나는 여러 시간 동안 많은 방법을 시도해 봤지만 성공하지 못했습니다 ... 제가 시도하지 않은 한 가지는, TableRow를 기반으로하는 자체 위젯을 작성하고 그것에 대한 별도의 스타일을 선언하는 것입니다. 너무 단순한 문제에 대한 너무 무거운 솔루션.
고마워요! attr.xml에 대해 뭔가 알았지 만 적절한 예제를 찾을 수 없습니다. 반대로, 당신의 대답은 더 완전 할 수 없습니다! – user1234567
나는 당신의 답을 매우 유용하게 찾았고 나의 문제도 해결했습니다. +1. 하지만 여전히 문제가 하나 있는데 코드에서 정의 된 색상을 사용하고 싶습니다. XML에서 attrs의 색상을 사용하는 방법은 무엇입니까? – Sandra
예,하지만 어두운 테마를 사용하는 경우 색상을 파란색으로, 다른 녹색으로 지정하고 싶습니다. 하지만 어떻게 코드에서 올바른 색상을 얻을 수 있습니까? – Sandra