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)