问题标签 [viewpagerindicator]

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 回答
529 浏览

java - 使用 findViewByID 时,使用 inflater 的 Android 应用程序为空

我正在开发我的第一个 Android 应用程序。当我在 OnCreate 和 onRestart 上添加保存和加载对象和设置的功能时,应用程序在启动时开始崩溃。

这是我为设置事物而编写的代码

logCat 显示的 NullPointerException 指向第一个 findViewByID(R.id.Player1name)。我尝试只传入一个普通的字符串,但仍然得到一个 nullPointer,所以我知道它是 findViewById。

这是调用它的 OnCreate

我的应用程序使用 ViewPagerIndicator,因此有人找不到它吗?

这是代码的主要部分使用 ViewPager 并切换视图。

这是首次创建时应使用的布局。

我检查了一下,但我确实设置了 setContentView 并尝试清理项目,所以我不知道可能出了什么问题。

0 投票
1 回答
633 浏览

java - 当用户使用 PageIndicator 在选项卡上滑动时如何创建文本淡入淡出效果

将 Jake Wharton 的TitlePagerIndicator更改 为在标签之间滑动时产生您在 Google Play 商店中看到的文本淡化效果所需的最少工作量是多少?我认为关键在于修改onDraw()但这需要我弄清楚他的代码和他的数学。如果有更简单的解决方案,我会更喜欢。

我也试过TitlePagerIndicator.setFadingEdgeLength(100),但这似乎没有任何作用。我知道你必须做TitlePagerIndicator.setHorizo​​ntalFadingEdgeEnabled(true)但仍然没有任何褪色效果。

以下是基于 Jake 示例之一的代码:

0 投票
2 回答
1891 浏览

android - 缺少 ViewPagerIndicator 依赖项

使用:Eclipse & ADT20

我在新项目中使用 Jake Wharton 的ViewPagerIndicator时遇到问题。

按照 Jake 的 github 页面上的说明添加库时,我在应用程序中收到错误消息。如果我查看 Android 依赖项(位于;Properties > Java Build Path > Libraries),则引用了一个 library.jar,但它有一个红十字并显示“缺失”。

在 github 页面上,它说“由于指标小部件提供的主题功能,独立的 JAR 是不可能的。” 那么为什么我的项目试图引用一个呢?

我尝试删除 Android 依赖项并清理项目但无济于事。我已经运行了“添加库支持”和“修复项目属性”

任何帮助将非常感激。

编辑:

可以在这里找到解决方案:使用 Jake Wharton 的 ViewPageIndicator

0 投票
1 回答
950 浏览

android - 带有 viewpagerindicator 和 achartengine 的图表库

我正在使用 ViewPagerIndicator 的样式选项卡显示 ACE 图表 第一个显示的图表总是可以的。但是当您水平滑动到第二页时,第二个图表显示不好。你只有半张图表

我不知道如何在调用 ACE 之前使视图或其他技巧无效以强制完全显示

任何方向表示赞赏

和带有摘要代码的片段类

版本:viewpagerindicator 2.3.1,achartengine 1.0.0

一张图值一千字: https ://docs.google.com/open?id=0BxbpQM-2XoKYM1NZYmRLUnY3cWs

0 投票
1 回答
4070 浏览

android - 带有指示器的 ViewPager 没有 Android 的支持库

现在我在我的程序中使用ViewPagerIndicator用于带有指示器的可滑动片段,它的工作原理就像一个魅力。但由于谷歌在不使用Android 支持库的情况下越来越多地向 Fragments 方向推进,例如支持库中没有 PreferenceFragments,我想知道是否有类似于使用标准 Android 库的 ViewPagerIndicator 的东西。

0 投票
1 回答
1201 浏览

android - ViewPagerIndicator 不会添加到项目中

我正在尝试使用 Jake Wharton 的 ViewPagerIndicator 库。我为它创建了一个新的库项目。当我尝试将它添加到 Eclipse时,<ProjectProperties> -> Android -> Add它​​会给我一个绿色的复选标记。当我单击菜单然后返回时,库引用消失了。

然后,当我转到我的 Java 构建路径时,我在Order and Export和下看到“库” ProjectsProjects我已经读到,从这个 SO 帖子中查看是否是不好的:找不到 Library.apk!

我也Could not find library.apk!从那个 SO 问题中得到了错误。我曾尝试删除 中的库Projects,但这只会导致我的导入混乱。

将其从Eclipse 错误中删除Projects并悬停在 Eclipse 错误上然后选择Fix project setup它后,建议Add project "library" to <my app>'s Build Path. 这只是让我回到第一方。

我也尝试过这个 SO 解决方案:ViewPagerIndicator

这并没有改变我的项目中的任何内容。我仍然得到Could not find library.apk!错误。当我让我的应用程序运行和编译时,它给了我这个错误:

Caused by: java.lang.ClassNotFoundException: com.viewpagerindicator.UnderlinePageIndicator

我认为这只是因为我的项目设置太乱了。知道如何最终解决这个问题吗?几个小时以来我一直在尝试不同的事情......

0 投票
1 回答
825 浏览

android - 未找到 ViewPagerIndicator 可绘制资源

我有一个同时使用ActionBarSherlock 和ViewPagerIndicator. 我遇到了一些问题,包括作为一个库,所以我最终做的是将ViewPagerIndicator包含ActionBarSherlock作为一个库并从中删除支持 v4 jar ViewPagerIndicator(参见这篇文章: Using ActionBarSherlock & ViewPagerIndicator Syncronously Will Not Compile)。

一切都构建并且我的应用程序运行,但是当我用 膨胀视图时TabIndicator,会引发资源未找到异常。我已经将其追溯到vpi__tab_indicator.xml文件和它引用的 6 个可绘制对象。当我注释掉那些drawables时,视图膨胀得很好。ViewPagerIndicator我可以在项目以及R我的应用程序的文件中看到这些可绘制对象。有什么我想念的吗?有问题的活动具有以下风格: android:theme="@style/Theme.PageIndicatorDefaults"

编辑:
堆栈跟踪(如果有帮助)

07-30 14:48:22.391: E/AndroidRuntime(7517): 致命异常: main 07-30 14:48:22.391: E/AndroidRuntime(7517): java.lang.RuntimeException: 无法启动活动 ComponentInfo{com. myapp/com.myapp.Activity}:android.content.res.Resources$NotFoundException:来自可绘制资源 ID #0x7f02005a 07-30 14:48:22.391 的文件 res/drawable/vpi__tab_indicator.xml:E/AndroidRuntime(7517):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2059) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2084) 07-30 14: 48:22.391: E/AndroidRuntime(7517): 在 android.app.ActivityThread.access$600(ActivityThread.java:130) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.app.ActivityThread$ H.handleMessage(ActivityThread.java:1195) 07-30 14:48:22.391:E/AndroidRuntime(7517): 在 android.os.Handler.dispatchMessage(Handler.java:99) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.os.Looper.loop(Looper.java :137) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.app.ActivityThread.main(ActivityThread.java:4745) 07-30 14:48:22.391: E/AndroidRuntime(7517):在 java.lang.reflect.Method.invokeNative(Native Method) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 java.lang.reflect.Method.invoke(Method.java:511) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 07-30 14:48:22.391: E/AndroidRuntime(7517):在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 dalvik.system.NativeStart.main(Native Method) 07-30 14:48:22.391:E/AndroidRuntime(7517): 原因: android.content.res.Resources$NotFoundException: 来自可绘制资源 ID #0x7f02005a 07-30 14:48:22.391 的文件 res/drawable/vpi__tab_indicator.xml: E/AndroidRuntime(7517):在 android.content.res.Resources.loadDrawable(Resources.java:1918) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.content.res.TypedArray.getDrawable(TypedArray.java:601) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.view.View.(View.java:3336) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.widget .TextView.(TextView.java:447) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 com.viewpagerindicator.TabPageIndicator$TabView.(TabPageIndicator.java:252) 07-30 14:48:22.391 : E/AndroidRuntime(7517): 在 com.viewpagerindicator.TabPageIndicator.addTab(TabPageIndicator.java:152) 07-30 14:48:22.391:E/AndroidRuntime(7517): 在 com.viewpagerindicator.TabPageIndicator.notifyDataSetChanged(TabPageIndicator.java:209) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 com.viewpagerindicator.TabPageIndicator.setViewPager(TabPageIndicator.java :197) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 com.myapp.Activity.onCreate(Activity.java:27) 07-30 14:48:22.391: E/AndroidRuntime(7517):在 android.app.Activity.performCreate(Activity.java:5008) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1079) 07-30 14 :48:22.391: E/AndroidRuntime(7517): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2023) 07-30 14:48:22.391: E/AndroidRuntime(7517): ... 11 更多 07- 30 14:48:22.391:E/AndroidRuntime(7517):由:java.lang 引起。NullPointerException 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.DrawableContainer$DrawableContainerState.addChild(DrawableContainer.java:524) 07-30 14:48:22.391: E/AndroidRuntime(7517 ): 在 android.graphics.drawable.StateListDrawable$StateListState.addStateSet(StateListDrawable.java:278) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.StateListDrawable.inflate(StateListDrawable. java:186) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:881) 07-30 14:48:22.391: E/AndroidRuntime( 7517): 在 android.graphics.drawable.Drawable.createFromXml(Drawable.java:818) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.content.res.Resources.loadDrawable(Resources.java :1915)在 android.graphics.drawable.DrawableContainer$DrawableContainerState.addChild(DrawableContainer.java:524) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.StateListDrawable$StateListState.addStateSet(StateListDrawable. java:278) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:186) 07-30 14:48:22.391: E/AndroidRuntime( 7517): 在 android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:881) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.Drawable.createFromXml(Drawable.java :818) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.content.res.Resources.loadDrawable(Resources.java:1915)在 android.graphics.drawable.DrawableContainer$DrawableContainerState.addChild(DrawableContainer.java:524) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.StateListDrawable$StateListState.addStateSet(StateListDrawable. java:278) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:186) 07-30 14:48:22.391: E/AndroidRuntime( 7517): 在 android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:881) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.Drawable.createFromXml(Drawable.java :818) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.content.res.Resources.loadDrawable(Resources.java:1915)524) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.StateListDrawable$StateListState.addStateSet(StateListDrawable.java:278) 07-30 14:48:22.391: E/AndroidRuntime( 7517): 在 android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:186) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java :881) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.Drawable.createFromXml(Drawable.java:818) 07-30 14:48:22.391: E/AndroidRuntime(7517 ): 在 android.content.res.Resources.loadDrawable(Resources.java:1915)524) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.StateListDrawable$StateListState.addStateSet(StateListDrawable.java:278) 07-30 14:48:22.391: E/AndroidRuntime( 7517): 在 android.graphics.drawable.StateListDrawable.inflate(StateListDrawable.java:186) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java :881) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.Drawable.createFromXml(Drawable.java:818) 07-30 14:48:22.391: E/AndroidRuntime(7517 ): 在 android.content.res.Resources.loadDrawable(Resources.java:1915)StateListDrawable.inflate(StateListDrawable.java:186) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:881) 07-30 14:48: 22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.Drawable.createFromXml(Drawable.java:818) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.content.res.Resources .loadDrawable(Resources.java:1915)StateListDrawable.inflate(StateListDrawable.java:186) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.Drawable.createFromXmlInner(Drawable.java:881) 07-30 14:48: 22.391: E/AndroidRuntime(7517): 在 android.graphics.drawable.Drawable.createFromXml(Drawable.java:818) 07-30 14:48:22.391: E/AndroidRuntime(7517): 在 android.content.res.Resources .loadDrawable(Resources.java:1915)

Thanks!

0 投票
1 回答
2063 浏览

android - 使用支持库 (ActionBarSherlock) 在 Android 4 中嵌套选项卡

我在让三层嵌套选项卡在从 Android 2.1 运行并且看起来像 Android 4(使用支持库片段)的应用程序中工作时遇到了严重问题。

目标

  • 应用程序应该有一个 ActionBar(有效,目前使用 ActionBarSherlock)
  • 主屏幕上的 3 个固定选项卡,即使屏幕足够大,也不会移动到 ActionBar。这些选项卡中的第二个包含...
  • 用户第一次登录时从服务器加载的大约 4 个选项卡。其中每一个都包含
  • 用户第一次登录时从服务器加载的大约 10 个可滑动标签(例如在 Play 商店中)。我的想法是使用 ViewPagerIndicator,因为该库是由 ActionBarSherlock 的同一个人编写的,这应该将问题降到最低。但我对这里的想法持开放态度)。这些可滑动的选项卡中的每一个都包含当前是片段的内容,但可以更改。

问题

当这是一个 Android 2 应用程序时,它只是使用嵌套的 TabActivities,但这些不适用于所有 Android 4 的东西。我可能不明白该怎么做,尤其是“你不能嵌套碎片”的限制让我很头疼。此外,似乎每个活动只能使用一个 FragmentManager,所以我在第二行选项卡中的每个选项卡中都有一个的想法不起作用(除了第一个选项卡之外的所有选项卡都保持为空)。如何以正确的方式做到这一点?

(请理解“使用不同的 GUI 设计”不是一个选项,因为这是客户要求的,他不会重新考虑)

0 投票
3 回答
9749 浏览

android - ViewPagerIndicator 的 TabPageIndicator 的默认样式失败。为什么以及如何解决?

如果我只是向您展示,而不是解释问题,会容易得多:

无样式的标签标题

如您所见,选项卡标题全部混合在一起并且完全没有样式。它们在通过切换选项卡滑动时正常工作(尽管除了在适当的位置移动之外没有可见的指示)并点击选项卡切换视图,但所有样式都丢失了。这是代码:

画廊列表.xml

GalleryLists.java

就是这样。现在,除非我在阅读文档和检查示例时感到非常困惑,否则我不应该采取任何额外的步骤来使用默认样式。我有点不知所措。

0 投票
1 回答
1693 浏览

android - TitlePageIndicator title becomes different from PagerAdapter.getPageTitle(int)

The issue I'm noticing happens when the user scrolls to the next (or previous) page in the ViewPager, which triggers the ViewPager's settling (confirm?) to that page. This works perfectly unless the user starts dragging while the ViewPager is still settling. In this scenario what I get is the title shown by the TitlePageIndicator shows the title for 2 pages after (or before, respectively) while the content shown by the ViewPager is showing the next (or previous) page.

If the user starts to swipe after that page - the one with the mismatched title and content - has settled, the title gets quickly updated to the correct title. Looking at ViewPager.OnPageChangeListener they say "Useful for discovering when the user begins dragging, when the pager is automatically settling to the current page" for onPageScrollStateChanged(int), which seems to be what the issue is, but I haven't found a way to use the method to resolve the issue.

I'm using Jake Wharton's com.viewpagerindicator.TitlePageIndicator with android.support.v4.view.ViewPager to render a view of calendar days. Swiping left/right moves to the previous/next calendar day. This means my ViewPager is set up to implement infinite pagination based on 3 Fragments that correspond to the visible day, the day before the visible day, and the day after the visible day.

My ViewPager.OnPageChangeListener is constructed like this and attached to the TitlePageIndicator

I see there to be about 3 solutions

  • Disable the sending or responding to user drag event while settling
  • Notice when the drag occurs during a settling and recover the correct title after it becomes invalid
  • Move the ViewPager with the second drag as if it were the first drag resulting in everything being 2 pages after (or before) the original visible day

EDIT: Is there a way to force the TitlePageIndicator to call getPageTitle(int) again to redraw the title with the correct title?