Articles of android support library

使用支持库实现TabListener

我正在尝试实现Tab导航,但我想确保拥有旧版Android的人仍然可以使用我的应用程序。 应用程序考虑ATM非常简单,我只是想了解如何实现布局,然后我将添加缺少的位。 无论如何,我有一个扩展Fragment Activity的Container Activity(以确保兼容性),这个Activity使用ActionBar创建一个TabView(我相信我的问题就在这里)。 该应用程序将尝试创建三个选项卡并将其添加到ActionBar,我想确保用户可以使用横向导航来回滚动。 这是TabListener我试图实现: public static class TabListener implements ActionBar.TabListener { private Fragment mFragment; private final Activity mActivity; private final String mTag; private final Class mClass; public TabListener(Activity activity, String tag, Class clz) { mActivity = activity; mTag = tag; mClass = clz; } public void onTabSelected(Tab tab, FragmentTransaction ft) { if […]

在更新支持库23.2.0后达到counterMaxLength限制时,带有TextInputLayout的Android EditText崩溃

在我们的应用程序中,我们使用EditText和TextInputLayout来显示validation错误。 一切正常,直到我们更新到最新的支持库com.android.support:design:23.2.0 。 此更新后,应用程序在尝试显示错误时开始崩溃。 布局: 码: nameLayout.setError(“Error); nameEditText.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void afterTextChanged(Editable s) { nameLayout.setError(null); } } }); 错误: FATAL EXCEPTION: main Process: im.grouvi.app.debug, PID: 10704 java.lang.UnsupportedOperationException: […]

找不到android ContextCompat.checkSelfPermission()

我试图使运行时权限向后兼容旧设备,但使用支持库我无法在ContextCompat类中findcheckSelfPermission()静态调用,但它在此处记录 这是我的项目gradle设置: defaultConfig { applicationId “org.myprogram.cool” minSdkVersion 16 targetSdkVersion 23 versionCode 39 versionName “3.0” } 这是依赖项: compile ‘com.google.android.gms:play-services:+’ compile ‘com.squareup:otto:1.3.5’ compile ‘com.android.support:appcompat-v7:22.1.1’ 知道我错过了什么吗?

在选定的底部导航视图项上重新创建片段

以下是我选择的底部导航视图项的代码 bottomNavigationView.setOnNavigationItemSelectedListener(new BottomNavigationView.OnNavigationItemSelectedListener() { @Override public boolean onNavigationItemSelected(@NonNull MenuItem item) { Fragment fragment = null; switch (item.getItemId()) { case R.id.action_one: // Switch to page one fragment = FragmentA.newInstance(); break; case R.id.action_two: // Switch to page two fragment = FragmentB.newInstance(); break; case R.id.action_three: // Switch to page three fragment = FragmentC.newInstance(); break; } getSupportFragmentManager().beginTransaction().replace(R.id.container,fragment,”TAG”).commit(); return true; […]

使用Android的RecyclerView时,在刷卡行下添加带有文本/图标的彩色背景

编辑:真正的问题是我的LinearLayout被包装在另一个布局中,这导致了不正确的行为。 Sanvywell接受的答案有一个更好,更完整的例子,说明如何在刷卡视图下绘制颜色,而不是我在问题中提供的代码片段。 现在,在ItemTouchHelper类的帮助下, RecyclerView小部件本身支持行扫描 ,我试图在应用程序中使用它,行的行为与Google的收件箱应用程序类似。 也就是说,向左侧滑动执行一个动作,向右滑动则执行另一个动作。 使用ItemTouchHelper.SimpleCallback的onSwiped方法很容易实现动作本身。 但是,我无法find一种简单的方法来设置应该出现在当前正在刷卡的视图下的颜色和图标(例如在谷歌的收件箱应用程序中)。 要做到这一点,我试图覆盖ItemTouchHelper.SimpleCallback的onChildDraw方法,如下所示: @Override public void onChildDraw(Canvas c, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) { RecyclerViewAdapter.ViewHolder vh = (RecyclerViewAdapter.ViewHolder) viewHolder; LinearLayout ll = vh.linearLayout; Paint p = new Paint(); if(dX > 0) { p.setARGB(255, 255, 0, 0); } else { p.setARGB(255, 0, 255, […]

如何定位在ConstraintLayout中两个视图中最低的位置?

我有两个标题视图, HeaderViewA和HeaderViewB 。 这些视图可以具有visible或gone任何可见性组合。 我需要将BigView定位在 HeaderViewA / HeaderViewB的最低位置。 如果没有在ConstraintLayout嵌套,这可能吗?

Android Studio将支持库中的字符串导出到APK

最近我从Eclipse切换到了Android Studio。 我有一个具有多个模块依赖项的项目。 一个依赖是支持库appcompat,包含如下: dependencies { compile “com.android.support:appcompat-v7:19+” } 在Android文档中,我发现需要使用资源导入此库,这似乎可以正常工作。 我在项目中使用库没有问题。 问题是,当我建立一个APK并运行aapt时,outpus说: locales: ‘–_–‘ ‘de’ ‘nl’ ‘pl’ ‘sl’ ‘fr’ ‘cs’ ‘es’ ‘it’ ‘ca’ ‘da’ ‘fa’ ‘ja’ ‘nb’ ‘af’ ‘bg’ ‘th’ ‘fi’ ‘hi’ ‘vi’ ‘sk’ ‘uk’ ‘el’ ‘tl’ ‘am’ ‘in’ ‘ko’ ‘ro’ ‘ar’ ‘hr’ ‘sr’ ‘tr’ ‘lt’ ‘pt’ ‘hu’ ‘ru’ ‘zu’ ‘lv’ ‘sv’ ‘iw’ ‘sw’ ‘fr_CA’ […]

是否有任何官方API /样本/教程用于实施新的材料设计指南?

背景 谷歌最近为设计师添加了很多指南( 这里 ),包括大量关于事物如何运作的animation。 问题 当我阅读指南时,我决定尝试新设计,并使用支持库。 可悲的是,对于他们中的许多(或者可能是全部?),我无法find如何使用Google提供的官方API来实现它们。 例如,我试图找出他们如何实现这种名为“灵活空间与图像”的酷炫滚动效果(取自此处 ): 链接 。 但是,无论我在哪里搜索,我发现的唯一的东西就是第三方库(比如这个 )。 另一个例子是创建Material-design凸起按钮样式的方法(在此处发布) 我发现了什么 我在Android开发者博客上发现了非常具体元素的小片段(以及更多指南),例如此处和此处 ,但这还不足以使用它,更不用说支持Android前Lollipop版本了(那就是大多数设备现在)。 我也find了这个文档 ,但同样,它对设计师网站( 这里 )上显示的内容缺乏很多解释。 这个问题 是否有任何新的材料设计指南的API /样品/教程? 除了我发现的以外还有什么? 支持库是否有可能几乎不支持新设计? 我甚至找不到对话框支持和Prefereces,所以我在这里制作了一些东西(基于其他人的库)…… 有这么多animation的例子真的很奇怪,但没有真正的代码可以尝试和用于最佳实践……

Android Studio 2.3 Beta 1 +支持25.1.0 =预览已损坏

Android Studio 2.3 Canary 3.支持库25.1.0。 布局预览完全被打破。 包含支持相关视图的任何内容似乎在预览期间中断。 在所有情况下,这是堆栈的开头: Exception Details java.lang.NoSuchFieldError: ViewBackgroundHelper at android.support.v7.widget.AppCompatBackgroundHelper.loadFromAttributes(AppCompatBackgroundHelper.java:46) at android.support.v7.widget.AppCompatImageView.(AppCompatImageView.java:63) at android.support.v7.widget.AppCompatImageView.(AppCompatImageView.java:56) …. ..等等 无论布局是什么样的,我现在都会遇到这个血腥的ViewBackgroundHelper相关问题。 似乎不管是什么types的布局或者其中有什么视图……似乎通过AppCompat的任何内容都会在预览中遇到此错误。 从来没有见过这个。 以前有Android Studio 2.3 Canary 2 +支持libs 25.0.1。 看起来似乎不可能升级Android Studio或其支持库而不花费数小时来处理这类东西,嘿? 感谢任何提示,谢谢 – UPDATE 看起来我不是唯一一个。 发现此处记录的错误,已被许多人主演: https://code.google.com/p/android/issues/detail?id=230183 更新2 仍然是AS 2.3 Beta的问题1.仍然无法看到我的布局。 相同的java.lang.NoSuchFieldError: ViewBackgroundHelper错误无处不在。

ViewPager中的部分片段在屏幕底部被截断(Android)

我为我的视图定义了一个基本的协调器布局: 我的视图分页器中有多个选项卡。 我发布了一个简单的片段: 会发生什么是FAB离开屏幕。 它不是FAB,但其他具有cardviews / listview的片段在屏幕底部被截断。 我四处寻找解决方案,并提出了一个hacky解决方案: 从工具栏中删除属性app:layout_scrollFlags =“scroll | enterAlways” 。 我无法理解可能导致这种情况发生的原因,以及如何解决上述问题解决了这个问题。 它是支持库中的一些错误吗? 有没有更好的方法来解决这个问题? 我遇到的另一个解决方案是从这里开始 – 将FAB按钮直接保持在活动中的Coordinator布局下,并使其仅在您需要的片段中可见。 对我来说似乎不是一个好的解决方案。 此外,我片段中的其他观点也被切断了。