问题标签 [android-tablayout]

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 投票
5 回答
32206 浏览

android - 在 Fragment 中使用 TabLayout;选项卡文本不可见

我目前正在新的Android Support Design library中试验各种新组件。我NavigationView在我的 中实现了一个MainActivity.java,它使用 FragmentManager 在导航抽屉中的项目之间导航:

我正在使用TabLayout其中一个片段。这是片段的布局:

以及它背后的Java代码:

请注意TabItem1TabItem1,它们是仅由 TextView 组成的片段。这两个要显示在 TabLayout 中。

现在,在某种程度上,这段代码似乎正在工作。这是它的样子:

奇怪的是,在我旋转设备后,一切似乎都运行良好:

在此处输入图像描述

似乎在配置更改时会调用某些东西。这很奇怪,特别是考虑到我的以下内容AndroidManifest

0 投票
1 回答
409 浏览

android - 替换 android 片段的问题

是)我有的:

我在 API 22 上使用最新的 Android 支持和设计库。我有一个名为ProgressFragment的片段,我只在我的应用程序首次安装时运行,如下所示:

这是布局

这个片段包含一个AsyncTask。当它完成时,它被MainActivity中 AsyncTask 回调onPostExecute()中的另一个片段(称为MainFragment)替换,如下所示:

这是MainFragment布局:

编辑:

这是 MainActivity 的布局:

问题:

当 ProgressFragment 中的 AsyncTask 完成并被 MainFragment 替换时,TabLayout视图不显示选项卡:

在此处输入图像描述

我的应用程序在启动时有 2 条可能的路径。它要么:

  1. 添加 ProgressFragment(如果第一次运行)-> 然后替换为 MainFragment

  2. 否则添加 MainFragment(选项卡在这里显示得很好)

两个片段替换都发生在 MainActivity 中。

问题涉及路径 1

编辑2:

在 MainActivity 中调用recreate()可以“修复”这个问题。虽然我不会称之为解决方案。稍后会回到它。

0 投票
2 回答
793 浏览

java - 更改滑动选项卡布局的属性

在下图中 在此处输入图像描述

问题 1:我想在滑动选项卡布局中更改蓝色下划线的颜色和文本(例如 FlashCards)的文本颜色。

我该如何改变呢?我还想更改 Name 后面的空格:'MyAccount'

问题 2:当我滑动 Tab 时,工具栏(抽认卡)顶部的标题应该改变。任何想法如何做到这一点。我用于布局的 XML 文件如下所示:

0 投票
1 回答
379 浏览

android-studio - Android 设计支持库 - 带有工具栏的 Tablayout

我刚刚从 Eclipse 跳转到 Android Studio,我正在修复一些出现的问题。其中之一是删除 ActionBar 提供的选项卡导航并切换到 AD 支持库提供的 Tablayout。我的一切工作都很好,但是当屏幕上出现特定片段时,我无法弄清楚如何将菜单项添加到工具栏。

我认为部分问题是我的 MainActivity 扩展了采用 setActionBar() 的 FragmentActivity,并且工具栏来自 v7 支持库 - 所以当然该工具栏与该方法不兼容。我试过 setSupportActionBar() 但这不是在 FragmentActivity 中找到的方法 - 在这里我需要扩展 ActionBarActivity 以访问该方法,这两种方法都已弃用(类和方法)。

所以问题仍然存在,如何让我的各个片段更新工具栏选项菜单中可用的选项?

活动主.xml:

MainActivity.java:

ExampleFragment.java:

0 投票
2 回答
2159 浏览

android - 当可见性从 GONE 变为 VISIBLE 时,TabLayout 文本消失

我对 Android 中的 TabLayout 有疑问。我正在使用 AppCompat 库,因为我的最小 SDK 为 10。问题是,如果 TabLayout 在首次创建活动时具有可见性 GONE,那么当我稍后将可见性设置为 VISIBLE 时,选项卡标题和选项卡指示器会丢失。

这是我的主要活动:

TabActivity 是这样的:

页面适配器:

分段:

布局也非常简单:

activity_main.xml

活动标签.xml

my_fragment.xml

如果我在 TabActivity.onCreate 中设置可见性 GONE,它会失败。如果它在 TabActivity.onCreate 中可见,则它可以工作。

我尝试使用 .invalidate() 但它不起作用。

有谁能够帮我?

在此先感谢您的帮助。

0 投票
1 回答
182 浏览

android - RecyclerView 的 Android 问题:查看获取覆盖

RecyclerView用于第一个选项卡和ListView其他选项卡。当我在其中滚动时RecyclerView相同ListView。但是当我从第一个选项卡滑动到另一个选项卡并返回到第一个选项卡时,我得到如下结果

首次:

在此处输入图像描述

从其他选项卡旅行后:

在此处输入图像描述

}

分段:

0 投票
1 回答
3126 浏览

android - Update Fragment in ViewPager From getItemPosition

I have a screen which has the new TabLayout from the design support library. I also have a ViewPager which is used to display a Fragment. This Fragment displays different lists of views depending on which tab is selected.

The app receives a response to a network call, my activity updates the FragmentPagerAdapter belonging to the ViewPager with the data returned by the response, in my case this is 3 lists.

In my ViewPager I override the onPageChangeListener() to detect when a page has been selected, and then I make a call to my FragmentPagerAdapter with the new tab position. I also call notifyDataSet() in order to redraw the view.

I override the getItemPosition() method to determine which list should be passed to the Fragment. However I don't think that this is the correct way to do it as their is a good deal of overdraw occurring from the getItemPosition. The method is actually updating each of the fragments with the same list of results. When scrolling to the next tab the current list is visible in the next tab until the scroll is release, then the fragment redraws with the correct list.

My question is am I taking the correct approach to displaying the lists in my ViewPager Fragments? Or am I seriously overcomplicating things? I don't have much experience with ViewPagers or FragmentPagerAdapters so any input would be greatly appreciated.

My code is as below.

Adding a fragment (called from onResume())

The ViewPager FragmentPagerAdapter class

0 投票
13 回答
33146 浏览

android - 禁用选项卡布局

我正在使用设计库提供的新类:TabLayout。而且我希望在特定情况下,我正在使用的那个不能再更改选项卡。

我设法在其查看器上禁用滑动,但我不知道如何通过单击选项卡来禁用页面更改。

提前致谢。

0 投票
1 回答
553 浏览

android - 为 TabLayout 的选项卡加载片段

我的活动文件中有一个 tabLayout 并有 3 个选项卡。我想显示选择的第一个选项卡,并且需要在同一活动中为此选项卡加载一个片段。

但是当我单击任何选项卡时,我需要在新活动中加载其他片段。

示例:我有 3 个选项卡:默认选择第一个选项卡,并且与其相关的片段将加载到同一个活动中,当我再次单击该选项卡时,该片段将加载到新活动中,如何我实现了这一点。

我有以下代码:

我用过 mSlidingTabs.setOnTabSelectedListener(this);

如果您有任何想法在这里实现这一点,请帮助我,非常感谢您的帮助..

0 投票
1 回答
991 浏览

android - 仅加载第一个选项卡的 viewpager 片段

我正在使用带有 Viewpager 的 TabLayout 并有 3 个选项卡。我正在使用 FragmentPagerAdapter 设置选项卡及其片段。

默认情况下,我只想加载第一个选项卡的片段,并希望在新活动中加载其他选项卡的片段。

在位置 1 和 2 的情况下,我尝试从 getItem 方法返回 null,但它给出了异常。

我该怎么做,你能帮我吗?

非常感谢先进。