Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

android:Theme.Material.Light requires API level 21 (current min is 8)

I want to use Material Theme in my application which has minimum sdk version of 8. As per docs - "The material theme is only available in Android 5.0 (API level 21) and above. The v7 Support Libraries provide themes with material design styles for some widgets and support for customizing the color palette." Does it mean I can use it if I add v7 Support Libarary in my project? Because after adding this library I got the following error:

android:Theme.Material.Light requires API level 21 (current min is 8).

Or maybe I understood something wrong? Any suggestion will be appreciated. Thanks in advance.

like image 650
PPD Avatar asked Nov 18 '14 08:11

PPD


2 Answers

For this you need to have 2 values folders.

One that exists by default, and another, you have to create in your res folder and name it values-v21.

In the default values folder, in styles.xml, use a theme other than Material theme. And in the styles.xml of values-v21 folder that you created, use Material theme.

Android phone will automatically pickup the styles.xml which it supports. If the phone supports Material Design (Lollipop devices), your app will use Material theme (values-21 folder).

If it doesn't (in phones running older Android versions), the default values folder will be used.

like image 191
Hirak Chhatbar Avatar answered Oct 22 '22 05:10

Hirak Chhatbar


You need to use android:theme="@style/Theme.AppCompat.Light" theme to get a material design.

Make sure your min is 8 and your target is 21. And you're using build tools/sdk 21.

like image 22
Pedro Oliveira Avatar answered Oct 22 '22 07:10

Pedro Oliveira