Articles of android viewpager

Android – 如何在两个选项卡TextView之间find选项卡指示器?

据我所知,有些组件ViewPager和ActionBar可以支持“选项卡导航”模式,但它们在选项卡之间没有中间选项卡指示器,只是位于选项卡TextView下方。 Google Play应用如何实现此function: 定位与过渡相关联 ?

Child Fragment的setUserVisibleHint和onResume未被调用

我试图在用户将页面切换到我的子片段时调用一个函数。 但是,当我尝试使用setUserVisibleHint和onResume时,两个函数都是从我的父片段调用的。 首先,我在Activity设置了一个视图寻呼机 然后在A1,A3和B1中,我有setUserVisibleHint和onResume函数。 setUserVisibleHint和onResume函数 @Override public void setUserVisibleHint(boolean visible) { super.setUserVisibleHint(visible); Log.d(“A1”, “setUserVisibleHint”); // A3 for Fragment A3 and B1 for Fragment B1 if (visible && isResumed()) onResume(); } @Override public void onResume() { super.onResume(); Log.d(“A1”, “onResume”); // A3 for Fragment A3 and B1 for Fragment B1 if (!getUserVisibleHint()) return; } 问题: 当我从页面A单击页面B并且视图是片段B1时,我得到(这没关系) D/A1: […]

如何仅在Tab布局中将浮动操作按钮专门放在一个片段上

我试图实现以下但没有成功。我有两个材料设计滑动选项卡。我使用此库 ‘com.oguzdev:CircularFloatingActionMenu:1.0.2’来实现FAB但是当我将选项卡滑动到第二个选项卡时,FAB仍然附加到新片段。 我想在第二个片段上隐藏FAB 。 有没有办法实现这个目标?

Challange:ViewPager的自定义animation。 更改所选元素的高度(查看折叠)

我目前正在ViewPager中切换页面之间的自定义animation。 当我向左滑动时,View向左移动,从下方向移动,新的View将出现在前面。 我想制作视图,向左移动(我处理)缩小,如下图所示: 在第二张和第三张图片上,我没有想到新的View出现在前面,但我认为没有必要。 你知道如何修改代码吗? 我想改变TableLayout,RelativeLayout和FrameLayout的高度,并保持两个TextView的高度。 此外,我将不得不改变整个视图的X位置。 我期待着您的创意答案(代码)。 下面我附上我的animation代码。 import android.view.View; import android.widget.RelativeLayout; import android.annotation.SuppressLint; import android.support.v4.view.ViewPager.PageTransformer; public class DepthPageTransformer implements PageTransformer { private static float MIN_SCALE = 0.75f; @SuppressLint(“NewApi”) public void transformPage(View view, float position) { int pageWidth = view.getWidth(); if (position < -1) { // [-Infinity,-1) // This page is way off-screen to […]

Fragment里面的Android Tab Layout没有加载标签内容

我有带navigation drawer和container主活动, navigation drawer有选项列表。抽屉选项用fragments替换container 。 当我单击fragtab选项时, container加载tab卡布局fragment ,但是当我尝试通过单击相同的选项第二次加载它时,它不显示tab内容。 片段xml布局 片段类FragTabs.java public class FragTabs extends Fragment { public FragTabs() { // Required empty public constructor } private Toolbar toolbar; private TabLayout tabLayout; private ViewPager viewPager; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { // Inflate the layout for this fragment View view = inflater.inflate(R.layout.fragment_frag_tabs, […]

Depth Pager Transformer就像SnapChat一样

我正在尝试使用DepthPageTransformer实现ViewPager ,就像Snapchat应用程序一样。 在SnapChat应用程序中,有一个Camera屏幕始终位于ViewPager中心,从左或右滑动会在摄像机屏幕上方显示其他碎片。 我从这个链接find了DepthPageTransformer代码。 但是这个演示的问题在于它从后面带来了所有下一个屏幕视图。 就像SnapChat一样,我在中央有一个摄像头屏幕,左边有2个屏幕,在摄像头屏幕右边有两个屏幕。 那么,我怎样才能创建一个PageTransformer ,它可以在我的中心屏幕顶部左侧或右侧显示片段,即Camera?

确定ViewPager中当前可见的片段

我使用ViewPager来显示几个片段,我的FragmentActivity上也有TextView 。 我需要根据ViewPager当前选择的片段来更改TextView中的ViewPager 。 我遇到的问题是: ViewPager有一些缓存机制,它在用户真正可见之前实例化片段,例如当我在第三页上创建的ViewPager片段中选择第二页时。 更重要的是我无法确定内部片段是这个片段现在可见还是它刚刚由ViewPager创建,但对用户来说并不是真的可见。 我已经尝试使用OnPageChangeListener ,但是对它做出的更改对我来说是不可接受的(页面滚动然后我的TextView已更改) 我真正需要的是:我需要确定ViewPager当前可见的ViewPager ,无论是FragmentActivity还是Fragment本身。 我怎样才能做到这一点?

片段内的Android TabHost

我正在开发一个Android应用程序,我使用了developer.android.com上的android FragmentPager选项卡示例 ),这个示例使用片段作为标签内容,现在我想在其中一个片段中放置一个tabHost,我已尽力了但是第二个标签主机没有显示内容,我可以看到标签标题,但没有内容,我试图使用Intents作为TabContent。 我不认为我有任何相关的代码在这里发布,但如果你需要我可以在这里发布。 层次结构是:FragmentActivity-> TabHost-> Fragments-> TabHost – >(Intent或Fragment,这是问题区域) 任何建议将不胜感激。

Android在FragmentPagerAdapter中的Fragment中设置TextView文本

这个让我疯了。 基本上,我想创建一个ViewPager并添加一些Fragment 。 然后,我想做的就是在Fragment的TextView设置一个值。 我可以添加Fragment s,它们会附加,但是当我在第一个Fragmentfind其中一个TextView的findViewById() ,它会抛出一个NullPointerException 。 我,为了我的生活,无法弄清楚为什么。 到目前为止,这是我的代码,请告诉我是否需要更多代码。 public class SheetActivity extends FragmentActivity { // ///////////////////////////////////////////////////////////////////////// // Variable Declaration // ///////////////////////////////////////////////////////////////////////// private ViewPager viewPager; private PagerTitleStrip titleStrip; private String type; private FragmentPagerAdapter fragmentPager; //UPDATE @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_sheet); viewPager = (ViewPager) findViewById(R.id.viewPager); titleStrip = (PagerTitleStrip) findViewById(R.id.viewPagerTitleStrip); // Determine which […]

为什么在页面之间滑动时TabLayout的选项卡图标/文本会闪烁?

背景 我已经使用了PagerSlidingTabStrip库很长一段时间,在ViewPager上方显示标签。 最近,我的任务是设置图标(使用选择器,选择与未选择状态)而不是选项卡的文本,所以我做了。 但是,似乎图书馆无法很好地处理它,有时显示空标签,所以我转移到TabLayout ,这是谷歌设计库的一部分 问题 我注意到了一些如何向TabLayout添加图标的解决方案,但每个解决方案都有一个或多个问题: 没有显示图标 显示图标,但可以不时闪烁,特别是在设置了“exitFadeDuration”时使用选择器,或者快速滑动时 单击选项卡不会更改viewPager的当前页面。 代码 我使用的代码来自MainActivity.java文件中的cheesesquare示例。 这很基本: final TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs); ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager); … tabLayout.setupWithViewPager(viewPager); 我尝试过的解决方案是: 为每个选项卡设置一个图标(并删除适配器的“getPageTitle”代码): for (int i = 0; i < tabLayout.getTabCount(); i++) tabLayout.getTabAt(i).setIcon(…); 当我没有使用选择器时,还尝试添加setOnTabSelectedListener。 该解决方案导致闪烁效果(问题#2)。 扩展TabLayout以支持图标或实现TabViewProvider,如此处所示。 扩展TabLayout根本不显示图标(问题#1),实现TabViewProvider会出现闪烁图标的问题(尽管很少见)。 对于getPageTitle,返回一个包含图标的SpannableString,如下所示。 这根本没有显示我的图标。 我记得我也尝试了其他解决方案,但他们也遇到了我提到过的问题。 这个问题 为标签设置图标的正确方法是什么? 有没有官方的方法来实现这一目标? 我想至少为每个标签选择一个和未选择的图像。 选择时的过渡是一个很好的奖励,我希望通过这种方式看起来更好。 为什么图标会闪烁? 我注意到它甚至出现在文本中…… 可能有解决方法吗?