Articles of appcompat

Android,appcompat v21,实现滚动技术

在http://www.google.com/design/spec/patterns/scrolling-techniques.html中描述了滚动技术。 但我还没有find如何实现它的细节。 我正在尝试实现“ 灵活的图像空间 ”,任何人都有这样的例子吗?

如何在Google Play商店应用中设置Android SearchView风格?

我正在尝试在toolbar设置SearchView样式,使其外观/行为类似于Google Play Store app的SearchView 。 它似乎将搜索视图包装在一个cardview中,但它似乎也整合了按钮/抽屉切换行为。 这是searchView的主要活动,它集成了抽屉式切换器 当您单击它时,抽屉切换更改为箭头(单击时将从搜索视图中删除焦点) 当您单击商店中的应用程序时,您将转到应用程序详细信息页面,并且您将搜索视图的图标化版本看作具有向上按钮的折叠操作项: 最后,如果您点击搜索图标,它会作为一个动作项目展开(带有一种涟漪animation),并在屏幕上一直显示并包含向上按钮: 当我自己尝试这样做时,我遇到了很多问题。 我试图将searchview包装在cardview中并将其放在工具栏中。 它的工作原理但左边总是有填充,我无法删除(我试过contentInsetStart,不起作用): 我还尝试删除工具栏,只用FrameLayout替换它。 这允许我控制填充但显然我丢失了工具栏function(向上按钮等)并且还引入了主题问题(图标和文本消失)。 有没有人知道他们是如何做到这一点的? 我不想仅仅为框架中已存在的样式小部件添加另一个库。 谢谢!

RecyclerView:如何在顶部模拟ListView的绘图选择器?

我想创建一个RecyclerView ,在其项目之上绘制一个选择器。 它应该在项目的顶部呈现,这意味着我不能简单地将StateListDrawable设置为项目背景。 我对压制状态特别感兴趣,即如果(并且仅当)按下某个项目,应该绘制一些东西。 RecyclerView.ItemDecoration能够绘制RecyclerView项目。 这是我到目前为止所尝试的: public final class ItemPressedDecoration extends RecyclerView.ItemDecoration { private final Rect rect = new Rect(); @Override public void onDrawOver(Canvas c, RecyclerView parent, RecyclerView.State state) { final int count = parent.getChildCount(); for (int index = 0; index < count; index++) { final View child = parent.getChildAt(index); if (child.isPressed()) { drawOverlay(c, child); […]

如果默认为auto,如何获取AppCompatDelegate当前模式

我有这样的活动: package com.nkdroid.daynighttheme; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.support.v7.app.AppCompatDelegate; import android.widget.TextView; public class ModeActivity extends AppCompatActivity { private TextView txtModeType; int modeType; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_auto_mode); txtModeType = (TextView) findViewById(R.id.txtModeType); modeType = AppCompatDelegate.getDefaultNightMode(); if (modeType == AppCompatDelegate.MODE_NIGHT_AUTO) { txtModeType.setText(“Default Mode: Auto”); } else if (modeType == AppCompatDelegate.MODE_NIGHT_YES) { txtModeType.setText(“Default Mode: Night”); […]

AppCompat DayNight主题总是显示为Light主题?

我正在使用版本23.2中引入的AppCompat的新Theme.AppCompat.DayNight主题,但它不是自动在一天(浅色)和夜晚(暗)主题之间切换,它总是显示为浅色主题。 如何让它切换到黑暗主题?

Android删除本地化

Play商店中的我的应用程序除默认设置外没有任何本地化版本: 英语(美国) 。 这次我创建了一个新的apk来更新它。 它使用android-support-v7-appcompat库。 所以当我上传新的apk并在apk中详细说它’添加了72个新的本地化’。 这些来自android-support-v7-appcompat中的values文件夹(values-af,values-am,…等)。 这是否可以,如果没有,我该如何删除本地化? 我的应用只有一个值文件夹,我不想添加本地化。

新的Theme.AppCompat ActionBar高度

当使用appcompat库的第21版时, ?android:attr/actionBarSize actionBarSize返回48个dips,好像它是Holo主题而不是Material。 事实上,它有点大 – 56逢低。 有没有人find解决这个问题的方法?

在ActionMode中,appcompat-v7 v23.0.0状态栏颜色为黑色

UPDATE 最新的Gmail应用中存在同样的问题。 我仍然不明白为什么谷歌会做出如此不愉快的用户界面改变。 每当我看到它时,对我的执着都会变得疯狂 题 我有这个奇怪的问题与appcompat-v7 23.我要描述的问题不会发生22系列 您可以获得重现此issuse表单的源代码https://github.com/devserv/t/ 一旦构建,您可以点击并按住列表中的项目以激活ActionMode 问题: 在ActionMode中,appcompat将状态栏变为黑色。 如果我不使用以下内容,则不会发生这种情况 @android:color/transparent true 在我的v21风格,但我必须使用它,因为我希望我的导航抽屉看到状态栏后面。 当ActionMode开始和结束时,我曾经使用以下来避免黑色状态栏 public boolean onPrepareActionMode(ActionMode actionMode, Menu menu) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { getActivity().getWindow().setStatusBarColor(getResources().getColor(R.color.appColorPrimaryDark)); } } public void onDestroyActionMode(ActionMode actionMode) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { getActivity().getWindow().setStatusBarColor(getResources().getColor(android.R.color.transparent)); } mMode = null; } 上面的代码没有创建/避免状态栏变黑,但在appcompat的v23上无法正常工作。 相反,当ActionMode被破坏时,您会看到一个短的黑色状态栏。 它看起来与ActionMode销毁时播放的animation有关。 我试图打开错误报告,但它已被拒绝评论 Don’t re-create bugs. 我错过了什么吗? […]

Android – 从支持库中删除重新定义的类(AsyncTaskCompat)

首先,如果我没有包含要回答的这个问题的所有必要信息,请道歉。 我对Android开发有些新意,我仍然会围绕构建工具,API级别等等。所以如果有任何其他信息我可以帮助您,请告诉我! 更新我的Android项目后,将sdk版本编译为27,我意识到com.android.support:support-v4版本27.0.2不再包含AsyncTaskCompat (该类已被弃用和删除)。 我有一个非开源的,不易替换的第三方库,不再受支持,仍然使用AsyncTaskCompat 。 由于AsyncTaskCompat是开源的,我以为我可以通过在我的项目中重新定义它来简单地重新引入它。 我尝试在com.android.support.v4.os项目下重新定义它,但即使项目编译没有任何问题,当我运行使用第三方库的应用程序部分时,我会遇到类崩溃找不到AsyncTaskCompat错误。 有什么明显的东西可能会丢失吗?

找不到资源支持错误:Android Studio上的appcompat-v7:22.0.0

我试图按照这个指南添加设计支持库https://github.com/codepath/android_guides/wiki/Design-Support-Library ,我遇到了问题。 dependencies { compile ‘com.android.support:appcompat-v7:22.2.0’ } 试图添加这个,它在构建时给了我很多XML错误。 Error:(24, 63) No resource found that matches the given name (at ‘drawable’ with value ‘@drawable/abc_textfield_default_mtrl_alpha’). Error:(25, 93) No resource found that matches the given name (at ‘drawable’ with value ‘@drawable/abc_textfield_default_mtrl_alpha’). Error:(26, 33) No resource found that matches the given name (at ‘drawable’ with value ‘@drawable/abc_textfield_activated_mtrl_alpha’). Error:(20, 118) […]