Articles of android support library

在平板电脑上折叠工具栏布局滚动行为

当滚动包含少量视图的NestedScrollView时,平板电脑上的CollapsingToolbarLayout存在问题 问题是即使在滚动停止后工具栏也会折叠。 您可以重现问题源代码: https : //github.com/chrisbanes/cheesesquare 有没有办法防止这种情况发生?

Android edittext更改popup上下文菜单样式

我想在长按EditText时更改EditTextpopup上下文菜单背景。 我尝试了以下代码,但它不起作用。 popup上下文菜单背景仍未更改。 @color/colorPrimary @color/colorPrimaryDark @color/colorAccent @style/MyDialogTheme @style/MyPopupStyle @color/colorAccent @color/colorAccent 我想要的结果是,popup上下文菜单背景与品红色的强调色相同。 我怎样才能实现它?

片段转换支持25.1.0与Recyclerview

我正在使用片段转换来为回收器视图中的视图设置animation,使用25.0.1支持lib并且转换工作正常,可以推送并popup目标片段。 我用来生成事务的代码是: supportFragmentManager.beginTransaction() .replaceAddToBackStack(R.id.content, fragment) .addSharedElement(fragment, commonViews) .commit() 现在我正在尝试更新到25.1.0版本的支持库,并且popanimation正在崩溃,因为转换没有find原始视图,并且崩溃了: E/MessageQueue-JNI: java.lang.NullPointerException: Attempt to invoke virtual method ‘boolean java.lang.String.equals(java.lang.Object)’ on a null object reference at android.support.v4.app.FragmentTransitionCompat21.setNameOverridesOptimized(FragmentTransitionCompat21.java:339) at android.support.v4.app.FragmentTransition.configureTransitionsOptimized(FragmentTransition.java:232) at android.support.v4.app.FragmentTransition.startTransitions(FragmentTransition.java:111) at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2143) at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2092) at android.support.v4.app.FragmentManagerImpl.popBackStackImmediate(FragmentManager.java:822) at android.support.v4.app.FragmentManagerImpl.popBackStackImmediate(FragmentManager.java:775) at android.support.v4.app.FragmentActivity.onBackPressed(FragmentActivity.java:178) at App.ui.base.BaseActivity.onBackPressed(BaseActivity.kt:23) … 但是,如果我禁用“优化”,它可以正常工作。 supportFragmentManager.beginTransaction() .replaceAddToBackStack(R.id.content, fragment) .addSharedElement(fragment, commonViews) .setAllowOptimization(false) .commit() 我做错了什么? 编辑:我用来包装共享元素的扩展: .replaceAddToBackStack fun FragmentTransaction.replaceAddToBackStack(containerView: […]

无法解决:com.android.support:cardview-v7:26.0.0 android

我尝试将recyclerview添加到我的项目并出现此错误,我从android studio依赖项添加它

java.lang.NoClassDefFoundError:android / graphics / drawable / Icon

到目前为止,我只为一位使用root手机的用户(SM-G900R7 Android 4.4.2)收到此错误。 错误是这样的: Fatal Exception: java.lang.NoClassDefFoundError: android/graphics/drawable/Icon at java.lang.Class.getDeclaredMethods(Class.java) at java.lang.Class.getDeclaredMethods(Class.java:656) at android.view.ViewDebug.getExportedPropertyMethods(ViewDebug.java:960) at android.view.ViewDebug.exportMethods(ViewDebug.java:1047) at android.view.ViewDebug.dumpViewProperties(ViewDebug.java:997) at android.view.ViewDebug.dumpViewProperties(ViewDebug.java:983) at android.view.ViewDebug.dumpView(ViewDebug.java:900) at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:870) at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:867) at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:867) at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:867) at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:867) at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:867) at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:867) at android.view.ViewDebug.dumpViewHierarchy(ViewDebug.java:867) at android.view.ViewDebug.dump(ViewDebug.java:793) at android.view.ViewDebug.dispatchCommand(ViewDebug.java:416) at android.view.ViewRootImpl$W.executeCommand(ViewRootImpl.java:6258) at android.view.IWindow$Stub.onTransact(IWindow.java:65) at android.os.Binder.execTransact(Binder.java:404) at dalvik.system.NativeStart.run(NativeStart.java) 我从不在我的代码中使用android.graphics.drawable.Icon,所有用法都来自android.support.v4.graphics.drawable.IconCompat ,我也从不在我的代码中使用该类… 顺便说一句,我的支持库是version 26.0.0, my […]

EmojiCompat fetchFont结果不正常

我的应用程序使用EmojiCompat进行字体下载(未捆绑),并且我的大量用户报告以下错误: Non-fatal Exception: java.lang.RuntimeException: fetchFonts result is not OK. (2) at android.support.text.emoji.FontRequestEmojiCompatConfig$FontRequestMetadataLoader.createMetadata(FontRequestEmojiCompatConfig.java:307) at android.support.text.emoji.FontRequestEmojiCompatConfig$FontRequestMetadataLoader.access$100(FontRequestEmojiCompatConfig.java:164) at android.support.text.emoji.FontRequestEmojiCompatConfig$FontRequestMetadataLoader$1.run(FontRequestEmojiCompatConfig.java:218) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:158) at android.os.HandlerThread.run(HandlerThread.java:61) 我找不到任何对此错误消息的引用,我不知道是什么导致它。 我的猜测是这是Google Play服务字体下载的内部问题。 编辑2017-11-13:仍在支持库27.0.0上发生。 编辑2017-11-15:我的配置。 在我的Application类上,在onCreate()上: val fontRequest = FontRequest( “com.google.android.gms.fonts”, “com.google.android.gms”, “Noto Color Emoji Compat”, R.array.com_google_android_gms_fonts_certs) val config = FontRequestEmojiCompatConfig(this, fontRequest) config.setReplaceAll(true) EmojiCompat.init(config) 使用表情符号解析文本: EmojiCompat.get().registerInitCallback(object : EmojiCompat.InitCallback() { override fun […]

Android为片段设置透明背景

在我的应用程序中,我有单个活动和所有其他片段 我正在设置style.xml的活动背景,如下所示 @color/very_light_gray 现在只有一个特定的片段我想设置背景透明,我无法做到尝试下面的片段代码片段对我来说不起作用 @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // create ContextThemeWrapper from the original Activity Context with the custom theme final Context contextThemeWrapper = new ContextThemeWrapper(getActivity(), R.style.yourCustomTheme); // clone the inflater using the ContextThemeWrapper LayoutInflater localInflater = inflater.cloneInContext(contextThemeWrapper); // inflate the layout using the cloned inflater, not default inflater […]

在片段android中查看重用

我试图在我的片段中保存我的视图状态,但我担心我会泄漏我的活动。 这是我在做的事情: @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle state){ if(mView != null){ View oldParent = mView.getParent(); if(oldParent != container){ ((ViewGroup)oldParent).removeView(mView); } return mView; } else{ mView = inflater.inflate(R.id.fragview, null) return mView; } } 我很担心,因为我知道所有的视图都保留在上下文中,如果从inflater中膨胀,我不知道它是否是Activity上下文或Application上下文。 也许更好的做法是使用getActivity()。getApplication()而不是使用inflater来实际创建视图并设置其属性。 我将不胜感激任何反馈。 谢谢! 编辑:确认活动泄漏,虽然这段代码工作得很好不要这样做:*(

Android调色板:为什么不使用这个特定的图像?

我目前正在使用支持库中的Palette API( https://developer.android.com/tools/support-library/features.html#v7-palette ) 下面的代码适用于数百张图片,完全没问题。 我根据调色板结果设置文本和背景颜色。 结果非常好看,非常好看(如果你想在你的应用程序中重复使用它,请不要犹豫!)。 不幸的是,在数百张图片中,只有一张不起作用,并给出了奇怪的结果。 这就是这个=> http://www.cineswellington.com/images/film/140929075044.jpg 由于调色板没有文档或调试模式,我真的很想知道会发生什么,以及是否有办法了解原始图片中是否存在缺陷或其他什么。 Picasso.with(getActivity()).load(“http://img.androidcookie.com/android/140929075044.jpg”).into(t); private Target t = new Target() { @Override public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) { Palette.generateAsync(bitmap, new Palette.PaletteAsyncListener() { public void onGenerated(Palette palette) { ((ImageView) v.findViewById(R.id.iv)).setImageDrawable(new BitmapDrawable(bitmap)); //At this point, the ImageView is correctly filled, so the bitmap object has no issue. int […]

如何在较低的Android版本中支持textView.setTextIsSelectable?

textView.setTextIsSelectable(true); 需要最低API级别11。 无论如何从API等级8+支持它?