如果使用Android L构建,则无法在旧版本的Android上运行应用程序

如果使用Android L构建,则无法在旧版本的Android上运行应用程序,android,android-5.0-lollipop,Android,Android 5.0 Lollipop,我正在尝试在我的应用程序上使用材质设计,因此我创建了一个values-v21文件夹,并在我的styles.xml文件中包含以下内容: <style name="AppBaseTheme" parent="android:Theme.Material.Light.DarkActionBar"> <item name="android:actionBarStyle">@style/ActionBar</item> </style> <s

我正在尝试在我的应用程序上使用材质设计,因此我创建了一个values-v21文件夹,并在我的styles.xml文件中包含以下内容:

<style name="AppBaseTheme" parent="android:Theme.Material.Light.DarkActionBar">
    <item name="android:actionBarStyle">@style/ActionBar</item>
</style>

<style name="ActionBar" parent="@android:style/Widget.Material.Light.ActionBar">
    <item name="android:background">#333333</item>
    <item name="android:titleTextStyle">@style/ActionBar.TitleTextStyle</item>
</style>

<style name="ActionBar.TitleTextStyle" parent="@android:style/TextAppearance.Material.Widget.ActionBar.Title">
    <item name="android:textColor">#fa6900</item>
    <item name="android:textStyle">bold</item>
</style>
除非我将构建目标设置为Android L,否则会出现以下错误:

检索项的父项时出错:未找到与给定名称“android:Theme.Material.Light.DarkActionBar”匹配的资源

将构建目标更改为Android L后,错误消失,但这样做会导致以下错误:

平台L是一个预览,需要应用程序清单将minSdkVersion设置为“L”AndroidManifest.xml


是否有必要使用Material Design并使Minsdk版本低于L?

我没有深入研究L preview,但最初我认为您可以从SDK文件夹中获取一些xml文件和绘图

您应该查看的SDK文件夹位于:

SDK_路径/平台/android-L/data/res/values

SDK_PATH/platforms/android-L/data/res/drawables等

像这样:

styles\u material.xml

<style name="Widget.Material.Button.Toggle">
    <item name="background">@drawable/btn_toggle_material</item>
    <item name="textOn">@string/capital_on</item>
    <item name="textOff">@string/capital_off</item>
    <item name="minHeight">48dip</item>
</style>
<inset xmlns:android="http://schemas.android.com/apk/res/android"
    android:insetLeft="4dp"
    android:insetTop="4dp"
    android:insetBottom="4dp"
    android:insetRight="4dp">
    <layer-list android:paddingMode="stack">
        <item>
            <ripple android:color="?attr/colorControlHighlight">
                <item>
                    <nine-patch android:src="@drawable/btn_toggle_mtrl_alpha"
                        android:tint="?attr/colorButtonNormal" />
                </item>
            </ripple>
        </item>
        <item>
            <selector xmlns:android="http://schemas.android.com/apk/res/android">
                <item android:state_checked="false">
                    <nine-patch android:src="@drawable/btn_toggle_indicator_mtrl_alpha"
                        android:tint="?attr/colorControlNormal" />
                </item>
                <item android:state_checked="true">
                    <nine-patch android:src="@drawable/btn_toggle_indicator_mtrl_alpha"
                        android:tint="?attr/colorControlActivated" />
                </item>
            </selector>
        </item>
    </layer-list>
</inset>
这是一项乏味的工作,但在全息风格时代,有些人做了类似的工作来制作全息Everwhere图书馆


希望能有所帮助。

目前支持库中没有材料主题,因此这是预期的。因此预览部分,您可能不希望发布支持L和API的应用程序,因为它可能会更改。好的,那么目前是否无法发布具有材料设计的应用程序,而不将其设置为独家开发预览?