标签: android-appcompat

使用AppCompat的Android Material Design Datepicker

我正在尝试使用AppCompat将新的Android 5.0 Material Design Datepicker添加到我的5.0之前的应用程序中.我已经添加

compile "com.android.support:appcompat-v7:21.0.0"
Run Code Online (Sandbox Code Playgroud)

到我的build.gradle文件并将我的主题更新为:

<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)

<style name="AppTheme.Base" parent="@style/Theme.AppCompat.Light">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="android:windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
</style>
Run Code Online (Sandbox Code Playgroud)

但Datepicker仍然如下所示:
旧的datepicker
而不是这样的:
材料设计datepicker

任何人都可以告诉我如何让新的datepicker在5.0之前的设备上运行吗?

提前致谢.

android datepicker android-appcompat material-design

30
推荐指数
1
解决办法
7万
查看次数

AppCompatButton backgroundTint API <21

我想在Buttons上使用涟漪效果.AppCompat v22.1为AppCompat着色添加了AppCompatButton和新功能.

我的布局:

<android.support.v7.widget.AppCompatButton
        android:id="@+id/add_remove_button"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:backgroundTint="@color/primary"
        android:textColor="@android:color/white"
        android:text="Remove" />
Run Code Online (Sandbox Code Playgroud)

在我的API 22测试设备上,涟漪效应完美无缺,但我正在编写API 11,不幸的是backgroundTint需要API> = 21.如何在旧API版本上将涟漪效果设置为按钮?

android android-appcompat android-button rippledrawable

30
推荐指数
1
解决办法
2万
查看次数

如何从Activity扩展ActionBarActivity或AppcompatActivity与Dialog主题删除标题栏

我不得不在ActionBarActivity之前和现在从AppcompatActivity扩展我的Activity主题Theme.AppCompat.Light.Dialog,因为我的Base Activity扩展了这个.

但是现在有了新的appcompat v7(v22)库我的Activity开始显示标题栏,尽管我使用自定义样式的项目windowActionBar = false,android:windowNoTitle = true.但是在appcompat库升级之前没有这样的问题,标题栏没有显示.

如果我的活动扩展了FragmentActivity,一切都还可以,我明白也许我使用了一个糟糕的模式,我的对话活动从AppcompatActivity扩展但我想知道有没有办法删除标题栏?

android title android-appcompat appcompatactivity

30
推荐指数
7
解决办法
3万
查看次数

AppCompat ToolBar popupTheme未在ShareAction MenuItem中使用

上下文

使用AppCompat v7 21.0.0/21.0.2/21.0.3

问题

ToolBar的popupTheme不适用于ShareAction

工具栏上的样式:

<style name="MyActionBarStyle" parent="Widget.AppCompat.Toolbar">
    <item name="android:background">@color/green</item>
    <item name="popupTheme">@style/ThemeOverlay.AppCompat.Light</item>
    <item name="theme">@style/ThemeOverlay.AppCompat.Dark.ActionBar</item>
</style>
Run Code Online (Sandbox Code Playgroud)

溢出菜单项正在使用popupTheme

溢出项目

另一方面,ShareAction没有收到popupTheme.经过一些测试后,我注意到它收到了应用程序:ToolBar的主题因此是黑暗的.

<item name="android:colorBackground">@color/white</item>
Run Code Online (Sandbox Code Playgroud)

ShareAction菜单项

为了获得ShareAction上的黑色文本,我尝试设置了许多属性,并通过设置"android:textColorPrimary"(在ToolBar主题上)我得到了我想要的但是我在ToolBar上的图标也采用了这种奇怪的颜色. .

菜单xml如下:

<?xml version="1.0" encoding="utf-8"?>

<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:cycle="http://schemas.android.com/apk/res-auto">

    <item
        android:id="@+id/ic_share"
        android:icon="@drawable/abc_ic_menu_share_holo_dark"
        android:title="@string/media_share"
        cycle:showAsAction="ifRoom"
        cycle:actionProviderClass="android.support.v7.widget.ShareActionProvider" />
    <item
        android:icon="@drawable/abc_ic_menu_share_holo_dark"
        android:showAsAction="ifRoom"
        android:title="br">
        <menu>
            <item
                android:id="@+id/menuSortNewest"
                android:title="Sort by newest" />
            <item
                android:id="@+id/menuSortRating"
                android:title="Sort by rating" />
        </menu>
    </item>

</menu>
Run Code Online (Sandbox Code Playgroud)

我希望ShareAction和溢出都有popupTheme但事实并非如此

解决方法

我得到一个解决方法后,我会编辑这篇文章

参考:https://code.google.com/p/android/issues/detail? id = 87285 & thanks = 87285 & t = 1419254842

android themes styles android-appcompat android-toolbar

29
推荐指数
1
解决办法
3万
查看次数

AppCompat 23.2在API <21上使用带有RemoteViews(AppWidget)的VectorDrawableCompat

我有一个AppWidget,我想在Lollipop前设备上使用VectorDrawables.VectorDrawableCompat不能与我创建的RemoteViews一起使用.

为了保持我的应用APK大小,我不想为旧的API平台添加我的drawables的替代PNG版本.

我怎样才能做到这一点?

android android-appcompat remoteview android-support-library android-vectordrawable

29
推荐指数
2
解决办法
2万
查看次数

如何修复:"你需要在这个活动中使用Theme.AppCompat主题(或后代)"

根据视频说明,我无法在全屏模式下运行Android应用.当它试图运行时,应用程序崩溃并出现错误.

"You need to use a Theme.AppCompat theme (or descendant) with this activity

清单文件

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.djsg38.hikerswatch">

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity"
        android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

</manifest>
Run Code Online (Sandbox Code Playgroud)

样式文件

<resources>

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>
Run Code Online (Sandbox Code Playgroud)

可能有用的部分MainActivity

public class MainActivity extends AppCompatActivity {
Run Code Online (Sandbox Code Playgroud)

android android-appcompat appcompatactivity

29
推荐指数
4
解决办法
8万
查看次数

更改材料设计AppCompat ActionBar颜色

我曾经用改变AppCompat状态栏颜色actionBarStyle,并创建一个背景是我想要的颜色的样式.

现在,使用Material Design AppCompat,此方法不再起作用.

你能帮助我吗?谢谢.

android android-appcompat android-actionbar material-design

28
推荐指数
1
解决办法
3万
查看次数

Android Studio - Appcompat构建失败值-v23/styles_bases.xml

我将从我想要实现的目标开始:构建此处提供的googlecast-manager示例:https://github.com/googlecast/GameManagerSamples 我按照以下说明操作:https://developers.google.com/cast/docs/ android_sender

首先我从github下载了该项目,然后使用Android SDK Manager下载了Android支持库和Google Play服务.然后在我的项目中,我转到"打开模块设置 - >添加",然后转到"Android SDK\extras\android\support\v7\appcompat"并添加它.

然后第一步确保它的工作是构建它.所以我右键单击appcompat - >"Compile Module Appcompat"但它失败并出现2个错误:

  1. 错误:(20,-1)android-apt-compiler:[appcompat] D:\ Android SDK\extras\android\support\v7\appcompat\res\values-v23\styles_base.xml:20:错误:检索父级时出错for item:找不到匹配给定名称'android:Widget.Material.Button.Colored'的资源.

  2. 错误:(19,-1)android-apt-compiler:[appcompat] D:\ Android SDK\extras\android\support\v7\appcompat\res\values-v23\styles_base_text.xml:19:错误:检索父项时出错for item:找不到与给定名称'android:TextAppearance.Material.Widget.Button.Inverse'匹配的资源.

对Google Play执行相同操作就像魅力一样.

我试图找到视频/其他类似问题,但它太复杂或不是我的问题.

这是appcompat的AndroidManifest.xml:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="android.support.v7.appcompat">
<uses-sdk android:minSdkVersion="9"
    android:targetSdkVersion="19"/>
<application />
Run Code Online (Sandbox Code Playgroud)

以下是从Android SDK Manager安装的内容: SDK Manager顶部 SDK Manager底部

android intellij-idea android-appcompat android-studio

28
推荐指数
3
解决办法
8万
查看次数

无法在styles.xml中解析符号'Theme.AppCompat.Light.DarkActionBar'

Theme.AppCompat.Light.DarkActionBar未在styles.xml中进行编译.我compile 'com.android.support:appcompat-v7:25.1.0'在app模块中添加了 build.gradle.主题错误

我在谷歌搜索了解决方案.其中很多是关于更改Project的类路径.build.gradle但它显示相同的错误.

build.gradle

dependencies {
    compile 'com.android.support:appcompat-v7:25.1.0'
    compile 'com.android.support:design:25.1.0'
    compile 'com.android.support:support-annotations:25.1.0'
    compile 'com.android.support:cardview-v7:25.1.0'
    compile 'com.android.support:recyclerview-v7:25.1.0'
    //    compile 'ch.acra:acra:4.5.0'

    testCompile 'junit:junit:4.12'
}

android {
    compileSdkVersion 25
    buildToolsVersion '25.0.2'

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 25
        versionCode = 146
        versionName = "0.6.65"
    }
Run Code Online (Sandbox Code Playgroud)

android themes android-appcompat gradle

28
推荐指数
4
解决办法
3万
查看次数

USE_FINGERPRINT在API级别28中已弃用

常量USE_FINGERPRINT在API级别28弃用,我们应该用更通用USE_BIOMETRIC已在同一API级别被添加.

我在我的Manifest中交换这些常量,并且在调用时遇到错误FingerprintManagerCompat.from(context).isHardwareDetected().

错误是:

缺少必需的权限 - USE_FINGERPRINT

这是因为28.0.0-rc3支持v4 lib中的@RequiresPermission("android.permission.USE_FINGERPRINT")注释FingerprintManagerCompat.

这是我可以忽略的并继续使用新的权限吗?

android android-appcompat android-permissions android-9.0-pie

27
推荐指数
1
解决办法
1万
查看次数