问题标签 [android-support-library]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1421 浏览

android - 过滤作为 ViewPager 片段一部分的 ListView

我最近将我的应用程序从使用 Activites 和 TabHost 转换为使用 Android Compat Library for API v4 中的 Fragments 和 ViewPager 我能够修复/解决大多数问题,但无法通过使用该setTextFilterEnabled方法在 ListViews 中过滤文本来保留以前的行为。

我的ViewPagerAdapter包含片段,每个片段都有一个ListView. 当用户在 中滑动时ViewPager,我希望当前活动的 Fragment 的 ListView 在用户键入时过滤文本,就像我能够使用 TabHost-Activity 模型一样。目前,看起来第一个 Fragment 的 ListView 会正确响应,但如果我滑动到下一个 Fragment 并尝试过滤其 ListView,过滤仍将适用于第一个。如果我扫过前两个然后过滤,结果是不确定的。当前活动的 Fragment 永远不会应用过滤器。有时相邻的片段会,有时不会。

我试图通过添加自定义回调来解决这个问题,这些回调让我可以监控哪些 Fragment 当前可见,哪些是隐藏的。当一个片段作为 ViewPager 的主要片段可见时,我将setTextFilterEnabled其 ListView 上的 设置为true,并将所有其他片段设置为false。这似乎根本没有帮助(我验证我正在正确切换标志以获取正确的片段)。

我怀疑这需要与 ViewPager 进行某种更深入的集成,但我无法真正弄清楚我需要连接什么。关于如何完成这项工作的任何想法?如果需要,我很乐意使用 ACL 代码。

0 投票
6 回答
40293 浏览

android - 片段标准过渡没有动画

我正在使用 v4 android 兼容性库来开发一个平板电脑 UI,它使用专门用于 Android 2.2 设备及更高版本的片段。

一切都在正常工作,除了我无法让任何动画工作,甚至是标准动画。

代码:

片段没有使用过渡动画,而是冻结了大约一秒钟,然后就消失了,新的片段出现了。

使用:

也不行。

XML:

我读到自定义动画在兼容性库中被破坏,但似乎没有人对标准转换有问题。我已经在 3.2.1 摩托罗拉 Xoom、2.3 Galaxy Tab 7"、2.2 模拟器,甚至是 2.3.4 的 HTC G2 上进行了测试。

这里有什么问题?

0 投票
2 回答
28335 浏览

android - 上一页和下一页可见的Android ViewPager?

我目前正在建立一个水平的视频画廊。

我想做这样的事情,只有一个视频居中,上一个和下一个视频的一部分: 在此处输入图像描述

我首先选择了画廊,但它的局限性让我寻找别的东西。我想显示一个页面指示器,使用图库很难实现。

第二种选择是从 Android 兼容性库中选择ViewPager 。我找到了一种在其上实现页面指示器的方法。但是现在,如何部分显示左右页面?

0 投票
3 回答
6474 浏览

android - 将 list_content 包含到列表布局中以保留 ListFragment 功能

首先,我在我的 1.6(Donut) 中使用 Android 兼容库 V4 rev.3

当您第一次创建 ListFragment 时,它会显示一个不确定的进度指示器,直到您使用 setListAdabpter()。根据 ListFragment.onCreateView 的文档,如果我想使用自定义布局:

如果您使用自己的自定义内容覆盖此方法,请考虑在布局文件中包含标准布局 {@link android.R.layout#list_content},以便继续保留 ListFragment 的所有标准行为。特别是,这是目前显示内置不确定进度状态的唯一方法。

问题是当我进入我的布局文件并尝试时: <include layout="@android:layout/list_content" ...>它(eclipse)告诉我

资源不公开。(在“布局”处,值为“@android:layout/list_content”)。

我认为这意味着list_content.xml在我的 V4 源代码中不存在。这是正确的,因为根据它出现在 API v11 中的文档。

我只是假设它会存在于兼容性库源中,不知道它是否存在......

我能看到的唯一其他解决方案是挖掘 android 的 API V11 源代码并复制和粘贴list_content.xml。但是现在我想避免这种黑客行为。这是唯一的解决方案吗?

0 投票
6 回答
52361 浏览

android - 如何确定从后台恢复的片段

找了好久这个问题,现在无果:

如何确定片段正在从后台恢复?我在 FragmentActivity 中使用兼容性库和 ListFragment。当 ListFragment 中的某个项目被选中时,会启动一个新的 Fragment 来替换 ListFragment。

我注意到,当 FragmentActivity 暂停时,会调用 Fragment 的 onSaveInstanceState。但是当通过 FragmentTransaction 将 Fragment 放入回栈时,不会调用 onSaveInstanceState,然后使用 null savedInstanceState Bundle 调用生命周期方法 onCreateView 和 onActivityCreated。

我问这个是因为我想在创建或恢复 Fragment 时加载一些数据,但当用户返回时不是这样。后台。

我看过如何检查片段是否从后台恢复? 但想添加更多细节,希望这会引发答案。

编辑:刚刚注意到http://developer.android.com/reference/android/app/Fragment.html#onSaveInstanceState(android.os.Bundle)

但是请注意:此方法可以在 onDestroy() 之前的任何时间调用。在很多情况下,一个片段可能大部分被拆除(例如当放置在没有显示 UI 的后台堆栈时),但它的状态不会被保存,直到它拥有的 Activity 实际需要保存它的状态。

所以 onSaveInstanceState 绝对是不可能的......

0 投票
2 回答
3122 浏览

android - 如何在 onLoadFinish 回调方法中提交 FragmentPagerAdapter 中的 Fragment 事务?

我想通知回调函数ViewPagerAdapter中的数据集发生了变化。Loader.onLoadFinish

它被阻止是因为片段的状态可能被保存。

来自LoaderManager.LoaderCallbacks.onLoadFinished(Loader loader, D data)方法文档:

请注意,通常不允许应用程序在此调用中提交片段事务,因为它可能在保存活动状态后发生。`

我该如何克服这个问题?如何检查处于哪个状态Activity并提交Fragment事务?

0 投票
1 回答
1227 浏览

android - Android View Pager 抛出错误的方式

我在 android view-pager(ACL 的 r4)中发现了一个有趣的错误。

当您的手指在较旧或较慢的设备上滚动太快/离开屏幕边缘时,速度跟踪器会以错误的方式弹出视图寻呼机。

我可以在原始 Galaxy Tab、HTC Desire、Nexus One、旧金山、HTC Hero 上重现。

打开谷歌+、市场或其他具有相当低级的视图寻呼机实现的东西。

如果您转到最左侧的页面,然后将手指轻轻拉过屏幕的右边缘,您可以让 view-pager 跳到右侧(与拖动方向相反)

我需要进行更多调查,但这看起来速度跟踪器无法跟上速度较慢的设备。这当然可以使视图寻呼机在快速从左到右滚动时跳来跳去。在新市场 (3.3+) 上尝试从一侧到另一侧,看看令人讨厌的结果!

关于通过扩展类进行修复的任何想法。我认为当很多事情发生时屏幕可能会提供奇怪的结果,并且可能会丢失一些 MotionEvents,因为我发现几乎不可能在较新的设备上复制。(Nexus S、三星 GSII、Sensation)。

编辑:从 ACL v6 开始,此问题已得到解决

谢谢,克里斯

0 投票
3 回答
15467 浏览

android - Eclipse 中 Android 项目的 Javadoc 因 NullPointerException 而失败

我正在尝试在 Eclipse 中为我的 Android 项目生成 javadoc 注释,但我不断收到 NullPointerException。仅当我尝试为导入Android 兼容性库(android.support) 的类生成 javadocs 时才会出现问题,我已将其作为外部 jar 附加。我还参考了 Android 2.2 和几个库项目,但它们本身不会导致此错误。

关键问题是底部的错误。- 100 条警告仅涉及链接到主要的 Android 库文档,这是一个单独的问题,在不参考 android.support 的情况下不会导致错误。事实上,没有任何警告说任何类似于“package android.support 不存在”的内容。这使我相信 javadoc 正在寻找兼容性库,但是涉及 jar 或我引用它的方式在最终生成 javadoc 时会导致错误。

任何关于可能导致错误的想法都值得赞赏。

0 投票
1 回答
1769 浏览

android - XML 定义的动画中指定的持续时间真的以毫秒为单位吗?

我正在使用最新版本的支持库,以允许在运行 Android < 3.0 版本的设备上使用 Fragments。每当我想切换当前片段时,我都会使用以下代码:

这是定义过渡动画之一的 XML:

正如您在上面的 XML 中看到的,动画的持续时间设置为 500。根据开发人员文档,此处指定的单位是毫秒(时间度量)。

我通过测试注意到动画持续时间在设备之间是不同的。如果我为持续时间指定 ms 值,为什么会出现这种情况?

以下是我测试过的设备和结果(主观):

HTC Legend:(低端手机,CPU 速度慢,Android 2.3.3)动画很流畅,可以持续很长时间。

三星 Galaxy S:(中档 CPU,Android 2.1)动画有些不稳定,而且比 Legend 快

模拟器:(在四核 iMac,Android 4.0 上运行)动画非常快,有时快到你甚至看不到它

基于此,似乎持续时间并不是真正以毫秒为单位衡量的,而是取决于 CPU 速度。有没有其他人注意到类似的结果?有没有办法设置它,以便在阅读文档后,动画速度在不同设备上保持一致?

0 投票
4 回答
6254 浏览

android - android-support-v4 错误生成与 R.java 被擦除

好的,我正在遵循步骤。

1-从现有源创建新项目

2-选择 Android\android-sdk\extras\android\compatibility\v4\samples\Support4Demos

3-完成

所以,我漂亮的 Eclipse 创建了这个项目,但是他从 gen 中删除了 R.java 类,所以我从包的每个类中都得到了错误。我的事

另外,style.xml 给了我一些错误。

这让我很生气,因为我在 3 天内无法从中学到任何东西,而我的朋友 google 对此没有帮助。

提前谢谢!