-3

For API>=21 we get the colorPrimary,colorAccent values using "?attr/colorPrimary" or "?colorPrimary". But it won't works on pre-lollipop devices. It shows some error like below. Thanks in advance.

Caused by: java.lang.UnsupportedOperationException: Can't convert to color: type=0x2 at android.content.res.TypedArray.getColor(TypedArray.java:327) at android.graphics.drawable.GradientDrawable.inflate(GradientDrawable.java:970) at android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:937) at android.graphics.drawable.Drawable.createFromXml(Drawable.java:877) at android.content.res.Resources.loadDrawable(Resources.java:2148) at android.content.res.TypedArray.getDrawable(TypedArray.java:602)  at android.view.View.(View.java:3579)  at android.widget.TextView.(TextView.java:642)  at android.widget.Button.(Button.java:107)  at android.support.v7.widget.AppCompatButton.(AppCompatButton.java:71)  at android.support.v7.widget.AppCompatButton.(AppCompatButton.java:67)  at android.support.v7.app.AppCompatViewInflater.createView(AppCompatViewInflater.java:109)  at android.support.v7.app.AppCompatDelegateImplV9.createView(AppCompatDelegateImplV9.java:1024)  at android.support.v7.app.AppCompatDelegateImplV9.onCreateView(AppCompatDelegateImplV9.java:1081)  at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:684)  at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)  at android.view.LayoutInflater.rInflate(LayoutInflater.java:758)  at android.view.LayoutInflater.inflate(LayoutInflater.java:492)

Balaji S B
  • 36
  • 6

3 Answers3

0

colorPrimary was added with the Material Design update in Android 5.0. It doesn't exist on devices that run Android < 5.0.

Iulian Popescu
  • 2,595
  • 4
  • 23
  • 31
0

As @Iulian Popescu said colorPrimary proposed above lollipop version

so Instead of "?attr/colorPrimary" or "?colorPrimary" use to reference from color.xml like below

android:background="@color/colorPrimary"

or set color property directly "#RGB" value like

android:background="#000"
Omkar
  • 3,040
  • 1
  • 22
  • 42
0

You can use the color defined in your colors.xml file : @color/colorPrimary

Guillaume Imbert
  • 496
  • 5
  • 11