두 가지 다른 활동에서 동일한 그라데이션 드로어 블을 사용할 수 있지만 다른 색상을 사용하고 싶습니다. 는 I는 다음의 방법으로 활동 테마에 그라디언트 색상을 참조하는 생각 :테마 의존 색상을 사용하여 다시 그라디언트 드로어 블 가능
은 내가 활동에서
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<gradient
android:startColor="?backgroundTopColor"
android:endColor="?backgroundBottomColor"
android:angle="270" />
<corners android:radius="0dp" />
</shape>
를 입력 bg_gradient.xml에
<attr name="backgroundTopColor" format="color" />
<attr name="backgroundBottomColor" format="color" />
attrs.xml이에 후속 행을 추가했습니다 주제, 추가했습니다.
<item name="backgroundTopColor">#FFFFFFFF</item>
<item name="backgroundBottomColor">#FFFFFF00</item>
logcat에서 응용 프로그램 시작 후
02-07 14 : 03 : 59.479 : ERROR/AndroidRuntime (2096) : java.lang.UnsupportedOperationException가 :에 의한 색상으로 변환 할 수 없습니다 : 유형 = 0x2로
02-07 14시 3분 : 59.479 : ERROR/AndroidRuntime (2096) : android.content.res.TypedArray.getColor (TypedArray.java:326)
02-07 14 : 03 : 59.479 : ERROR/AndroidRuntime (2096) : android.graphics.drawable .GradientDrawable.inflate (GradientDrawable.java:647)
02-07 14 : 03 : 59.479 : ERROR/AndroidRuntime (2096) : android.graphics.drawable.Drawable.createFromXmlInner (Drawable.java:788)
02- 07 14 : 03 : 59.479 : ERROR/AndroidRuntime (2096) : android.graphics.drawable.Drawable.crea에서 teFromXml (Drawable.java:729)
02-07 14 : 03 : 59.479 : ERROR/AndroidRuntime (2096) : android.content.res.Resources.loadDrawable (Resources.java:1694)
02-07 14 : 03 : 59.479 : ERROR/AndroidRuntime (2096) : ... 29 더
어떻게 해결할 수 있습니까? API 레벨 = 8
같은 오류가 발생했습니다. 그것은 작동하지 않습니다. : – Premier
다른 아이디어로 업데이트 됨 –
두 번째 아이디어도 작동하지 않습니다. –