Articles of android viewpager

Android TabPage Indicator内容包装问题

我遇到过ViewPager的另一个问题,现在我无法用我目前的知识来解决这个问题。 我有TabPageIndicator与ViewPager和每个选项卡上,我正在显示文本。 这是简单的textView: <?xml version="1.0" encoding="utf-8"?> <view xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" class="viewpagerindicator.TabPageIndicator$TabView" > <TextView android:id="@+id/vpi_tab_text" android:layout_width="fill_parent" android:layout_height="fill_parent" android:singleLine="true" android:ellipsize="marquee" android:gravity="center" android:paddingBottom="10dip" android:paddingLeft="8dip" android:paddingRight="8dip" android:paddingTop="10dip" android:textColor="@drawable/vpi_tab_text_color" android:typeface="serif" /> </view> 我希望选项卡中的文本始终是单行,并且始终是整个文本,而不是椭圆化,不打包,不超过1行。 用户需要能够读取整个… 但是我不能这样做,我尝试了不同的选项,但仍然遇到一些问题 – 文本不仅仅是一行,而且只显示第一行,或者只显示一部分文本。 你有类似的经历吗? 任何帮助表示赞赏 编辑一: 我相信问题在这里: @Override public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { final int widthMode = MeasureSpec.getMode(widthMeasureSpec); final boolean lockedExpanded = widthMode == […]

我怎样才能实现水平滑动不使用支持库?

如果我不需要授予对老版本android的支持,并且只能使用API​​ 17,那么是否有另一种方法来实现广告的水平滑动(如在Gmail中)而不使用viewpager,fragmentactivities(新的API已经有片段)。 ..)等摆脱支持库? 所有我发现的水平滑动教程显示如何使用支持库和FragmentActivities。 否则,如果我不能使用他们的本地类和方法,新API的优点是什么?

如何在RecyclerView中保留ViewPager状态?

我的RecyclerView包含许多ViewPagers。 每个ViewPager内的页面数量是不变的(2)。 我使用PagerAdapter。 当我滚动我的RecyclerView,ViewPagers失去了他们的状态,并重置到第1页。 我想知道如何保留每个ViewPager的最后select的页面。 例如:1)我滚动到页面2在我的第一个ViewPager 2)我滚动RecyclerView到底部,我的第一个ViewPager出屏幕。 3)我滚动到ViewPager的顶部,所以我的第一个ViewPager再次加载。 4)我的第一个ViewPager设置为第一页,而不是页面2,我最后滚动到。 在RecyclerView中有n个ViewPagers,我想保留所有的状态,不pipeRecyclerView是否重装。 如何解决这个逻辑?

深度寻呼变压器就像SnapChat一样

我试图与DepthPageTransformer一样实施ViewPager就像Snapchat应用程序。 在SnapChat应用程序中,有一个摄像头屏幕始终在ViewPager中心,从左或右滑动将其他片段带到摄像头屏幕上。 我从这个链接find了DepthPageTransformer代码。 但是这个演示的问题在于它从后面带来了所有的下一个屏幕视图。 就像SnapChat我有一个相机屏幕在中心,两个屏幕在左上方,两个屏幕从右上angular在相机屏幕上。 那么,我该如何创build一个PageTransformer ,它会在我的中心屏幕的顶部(这是Camera)的左侧或右侧带来碎片?

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

现在,我正在使用ViewPagerIndicator在我的程序中使用指示器进行轻扫,并且它像魅力一样工作。 但是,由于Google正在向Fragments的方向推进越来越多,而不使用Android支持库,并且PreferenceFragments在支持库中不可用,所以我想知道是否有类似于使用标准Android库的ViewPagerIndicator。

在片段之间滑动时消失的操作栏button

我有一个应用程序在一个操作栏中的多个选项卡,每个选项卡有一个不同的选项菜单图标集,显示在操作栏。 有些标签有两个图标,有些没有。 问题是,当我在屏幕之间滑动时,单个屏幕的button可能会显示或不显示。 即在一个应该有两个图标的屏幕上,操作栏中将没有图标! 然而,当我点击标签时,屏幕总是显示正确的图标。 我试图在debugging器中分析问题。 我确定FragmentPagerAdapter正确地为新select的Fragment调用了setMenuVisibility(true) ,而其他片段则通过setMenuVisibility(false)调用。 我无法findbutton的外观/消失的确切模式。 我可以在两个屏幕之间左右滑动,每个屏幕有两个不同的button。 这个问题会在1到20次刷卡后发生。 通过用一个图标滑动到屏幕,然后回到具有两个图标的屏幕,消失似乎变得更加严重。 我已经尝试将调用添加到Activity.invalidateOptionsMenu()但它似乎没有影响。 例如,我将这个调用添加到我的TabAdapter的onPageScrollStateChanged(),这是在滑动animation完成后调用的。 我也试过把这个添加到碎片的onResume()或TabAdapter.onTabSelected()完成后,无济于事。 我使用的ActionBarSherlock 4.1.0(和我已经取代了最新的android-support-v4.jar由于不同的问题)。 我的活动扩展SherlockFragmentActivity并简单地实例化一个ViewPager 。 我重写了ViewPager适配器的FragmentPagerAdapter (遵循ViewPager Android文档上的标准示例)。 我的手机运行Android 2.3.5。

将寻呼机视为列表视图行项目

我有一个20行的列表视图,我想设置一个视图寻呼机作为列表视图中的每一行。 由于列表视图行中的项目可能是一个或多个,我想使用视图寻呼机显示列表视图行项目。 为此,我使用下面的代码: 要在列表视图行中显示的自定义布局(作为分页器项目) <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/inner_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center" android:orientation="horizontal" > <ImageView android:id="@+id/icon" android:layout_width="wrap_content" android:layout_height="fill_parent" android:layout_marginRight="6.0dip" android:src="@drawable/ic_launcher" /> <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="fill_parent" android:gravity="center_vertical" android:text="Example Value" android:textAppearance="?android:textAppearanceMedium" /> 主列表视图自定义行项目具有查看传呼机 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <android.support.v4.view.ViewPager android:id="@+id/mypager" android:layout_width="match_parent" android:layout_height="match_parent" /> </RelativeLayout> MyPagerAdapter类 public class MyPagerAdapter extends PagerAdapter { private […]

Android:垂直viewpager中的RecyclerView

我想在一个垂直的viewpager中实现一个recyclerview。 我目前的布局如下所示 VerticalViewpager – Fragment1 – ImageView – Fragment2 – RecyclerView 如果我从Fragment1滑动到Fragment2一切正常。 我可以在回收站内上下滚动。 如果我尝试滑动/回滚到Fragment1,就会出现问题。 如果用户已经滚动到回收站视图的顶部,我想将下一个“向上”滚动事件转发到垂直viewpager。 我试图重写onInterceptTouchEvent方法,但不幸的是仍然没有成功。 有任何想法吗? 谢谢你的帮助 :)

正确插入和删除视图到浏览器

我正在用viewpager和碎片做一个adroid应用程序。 我想做一个选项来dynamic地添加或删除分页到分页器。 我有一个自定义的FragmentPagerAdapter: public class MyAdapter extends FragmentPagerAdapter implements TitleProvider{ protected final List<PageFragment> fragments; /** * @param fm * @param fragments */ public MyAdapter(FragmentManager fm, List<PageFragment> fragments) { super(fm); this.fragments = fragments; } public void addItem(PageFragment f){ fragments.add(f); notifyDataSetChanged(); } public void addItem(int pos, PageFragment f){ for(int i=0;i<fragments.size();i++){ if(i>=pos){ getSupportFragmentManager().beginTransaction().remove(getSupportFragmentManager().findFragmentByTag(getFragmentTag(i))).commit(); } } fragments.add(pos,f); notifyDataSetChanged(); pager.setAdapter(this); […]

FragmentStatePageAdapter复制ActionBar菜单项

我有一个FragmentStatePageAdapter(我用作ViewPager的适配器)和操作栏中的菜单项的问题。 当我启动应用程序,一切都很好。 如果我将任务移动到后台(例如,按HOMEbutton),我开始做些事情,直到活动结束,然后当我回到我的应用程序(通过启动器或通知我创build),一切都很好,除了有在操作栏中复制菜单项。 重要的细节是唯一重复的项目是在ViewPager中使用的每个片段的onCreateOptionsMenu()中创build的项目。 如果我用FragmentPageAdapter replaceFragmentStatePageAdapter项目不复制,但片段不显示在ViewPager(getItem()函数从适配器不会被调用,所以它不会返回任何片段)。 有任何想法吗? 一种避免FragmentStatePageAdapter复制菜单项的方法? 也许使用FragmentPageAdapter,但修改显示片段? 我的碎片修改? 这里是我的应用程序的一些代码片段… 在片段内如何创build菜单项: @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) { /* Create play button */ final MenuItem mPlay = menu.add(R.string.play_all); mPlay.setIcon(R.drawable.ic_play_all); mPlay.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS); mPlay.setOnMenuItemClickListener(new OnMenuItemClickListener() { @Override public boolean onMenuItemClick(MenuItem item) { final List<Song> songs = getSongs(); if (songs.size() == 0) { /* Show message */ […]