如何在低于21的API中使用Material Design特性(在Eclipse中)?

3

有很多关于这个问题的问题,但是没有一个可以帮助我。

请告诉我如何在Eclipse中启用Material Design特性。

我还导入了appcompat_v7库到项目中,但它并没有创建一个名为values_v21的文件夹,这会帮助我使用那些特性。

所以请帮助我解决这个问题。

这是我的styles.xml文件。

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <style name="AppTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
        <item name="android:actionBarStyle">@style/AppTheme_ActionBar</item>
        <item name="android:actionBarSize">@dimen/action_bar_height</item>
        <item name="android:windowContentOverlay">@drawable/actionbar_shadow</item>
        <item name="android:homeAsUpIndicator">@drawable/ic_ab_up_compat</item>
       <item name="android:actionBarTabTextStyle">@style/tabtextcolor</item>
        <item name="android:actionOverflowButtonStyle">@style/AppTheme_ActionBar_Overflow</item>
    </style>

    <style name="AppTheme_ActionBar" parent="android:Widget.Holo.ActionBar.Solid">
        <item name="android:background">@color/apptheme_primary</item>
         <item name="android:actionBarTabTextStyle">@style/tabtextcolor</item>
        <item name="android:icon">@drawable/actionbar_icon_placeholder_compat</item>
        <item name="android:titleTextStyle">@style/AppTheme_ActionBar_Title</item>
    </style>

    <style name="AppTheme_ActionBar_Title" parent="android:TextAppearance.Holo.Widget.ActionBar.Title">
        <item name="android:textColor">@android:color/white</item>
        <item name="android:textSize">20sp</item>
    </style>

    <style name="AppTheme_ActionBar_Overflow" parent="android:Widget.ActionButton.Overflow">
        <item name="android:src">@drawable/ic_ab_overflow_compat</item>

    </style>


    <style name="tabtextcolor" parent="@android:style/Widget.Holo.Light.ActionBar.TabText">
    <item name="android:textColor">@android:color/white</item>
</style>
</resources>

你可以创建 values-v21 - Xcihnegn
2个回答

3

以下是您需要检查的几点:

  • 导入到eclipse中,最新版本的android-support-v7-appcompat项目。您应该通过SDK Manager更新,并从{your_path_to_android_sdk}/extras/android/support/v7/appcompat导入项目。
  • 将此项目作为库依赖项添加到您的项目中。
  • styles.xml中使用Theme.AppCompat.LightTheme.AppCompat:

    style name="AppTheme" parent="@style/Theme.AppCompat.Light"


是的,我正在做同样的事情。实际上,我想在我的列表视图上创建一个浮动操作按钮。但是它总是在Eclipse中显示错误。这是我正在更改主题为appcompat的xml行:name="AppTheme" parent="android:Theme.AppCompat.Light.DarkActionBar" - Android
在创建操作栏时,我使用了getActionbar().hide,并在那里收到了空指针异常,因为没有要隐藏的东西(即没有操作栏)。 - Android
在处理ActionBar时,您应该使用getSupportActionBar()。 - Álvaro Pérez Soria
我只能获得getActionBar(),无法看到getSupportActionBar()。 - Android
谢谢:你回答中帮助我的关键点是将此项目作为库依赖添加到您的项目中。我已经将该项目添加到了Java构建路径中,但忽略了Android依赖路径。 - dsh
显示剩余8条评论

0
一个简单的指南:
  • 导入appcompat-v7项目,并将其作为库依赖项添加到您的项目中
  • 让您的主题继承一些appcompat主题。例如:<style name="Theme.MyTheme" parent="Theme.AppCompat.Light">
  • 请注意,并非所有小部件(UI元素)都是由appcompat进行材料化处理的
  • 请遵循android-developers blogspot中的示例和说明。
  • values-vXY文件夹用于为特定平台添加特定资源。例如,您可以在values-v21文件夹中添加一个样式,该样式继承了一些内置的材料样式,并且仅在api级别21+上可用。这些文件夹是手动创建的,仅在您想要特定平台级别的替代资源时使用。它们用于使您的应用程序在所有/许多Android版本中更好地适合。更多信息 - 请参阅android developers portal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接