Questions tagged «android-viewpager»

一个ViewGroup,用于管理用户可以在其间滑动的子视图的布局。

8
动态添加和删除视图到viewpager
(我想出了一个解决方案-请在下面的“答案”部分中查看我的帖子。) 在我的应用程序中,用户将以其数据的单个视图开始。我想添加一个ViewPager并允许用户根据需要添加更多视图。我该怎么做呢?(我不想使用FragmentPagerAdapter。) 我读了无数的帖子和概述,但仍然缺少一些内容。这是我的理解: MainActivity创建一个ViewPager和PagerAdapter: ViewPager pager = null; MainPagerAdapter adapter = null; public void onCreate (Bundle savedInstanceState) { super.onCreate (savedInstanceState); pager = new ViewPager (this); setContentView (pager); adapter = new MainPagerAdapter(); pager.setAdapter (adapter); View v0 = code_to_create_initial_view(); adapter.add (v0, 0); } 使用PagerAdapter提供视图集。为此,我似乎需要添加和删除视图的方法,例如:显然,还需要更多信息来告知ViewPager内容已更改以及如何显示更改: class MainPagerAdapter extends PagerAdapter { // This holds …


5
如何更改ViewPager的页面?
我在我的应用程序中使用ViewPager,并在主Activity中对其进行定义。在onCreate方法内部,我从SharedPreferences加载了一些页面,然后将其传递给PagerAdapter: @Override public int getCount() { return numberOfPages; } 问题是,如果我将“偏好设置”(或其他“活动”)中的该数字更改为我之前查看过的其他页面索引,则我的应用程序将崩溃,因为当我使用此ViewPager返回到活动时,此索引超出范围。只需更改活动ViewPager的页面即可对其进行修复。有什么办法吗?

5
确定ViewPager何时更改页面
我在ViewPager中有三个页面(片段),但是我只想显示其中两个页面的菜单项。 先前的SO答案中给出的代码似乎无效: @Override public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); if (isVisibleToUser == true) { } else if (isVisibleToUser == false) { } } Eclipse表示不需要@Override,也无法设置super。它从未被系统调用,即使这是我如何确定当前显示的页面呢?我可以在这里帮忙吗?

7
具有上一页和下一页边界的ViewPager
我正在设计一个包含多个页面的视图。我希望上一页和下一页的边缘显示如下,并用两根手指滑动即可在页面之间切换。 我尝试使用此处ViewPager建议的负页边距,但仅在屏幕上显示边缘之一,而不同时显示。 或者,有什么方法可以将我的视图的一部分放置在屏幕外,然后对其进行动画处理,使其具有ViewPager字体效果。 我应该怎么做?谢谢 !

10
作为ViewPager的一部分更新ListFragment中的数据
我在Android中使用v4兼容性ViewPager。我的FragmentActivity有很多数据,这些数据将以不同的方式显示在ViewPager的不同页面上。到目前为止,我只有3个相同ListFragment的实例,但是将来我将拥有3个不同ListFragments的实例。ViewPager在垂直手机屏幕上,列表不是并排的。 现在,ListFragment上的按钮将启动一个单独的全页活动(通过FragmentActivity),该活动将返回并FragmentActivity修改数据,保存数据,然后尝试更新其ViewPager中的所有视图。在这里,我被困住了。 public class ProgressMainActivity extends FragmentActivity { MyAdapter mAdapter; ViewPager mPager; @Override public void onCreate(Bundle savedInstanceState) { ... mAdapter = new MyAdapter(getSupportFragmentManager()); mPager = (ViewPager) findViewById(R.id.viewpager); mPager.setAdapter(mAdapter); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { ... updateFragments(); ... } public void updateFragments() { //Attempt 1: //mAdapter.notifyDataSetChanged(); …


16
在Android中从ViewPager删除片段页面
我正在尝试从ViewPager动态添加和删除片段,添加作品没有任何问题,但是删除没有按预期工作。 每次我要删除当前项目时,最后一个都会被删除。 我还尝试使用FragmentStatePagerAdapter或在适配器的getItemPosition方法中返回POSITION_NONE。 我究竟做错了什么? 这是一个基本示例: MainActivity.java public class MainActivity extends FragmentActivity implements TextProvider { private Button mAdd; private Button mRemove; private ViewPager mPager; private MyPagerAdapter mAdapter; private ArrayList<String> mEntries = new ArrayList<String>(); @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mEntries.add("pos 1"); mEntries.add("pos 2"); mEntries.add("pos 3"); mEntries.add("pos 4"); mEntries.add("pos 5"); …

3
防止ViewPager破坏屏幕外的视图
我有一个ViewPager连接到显示三个片段的FragmentPagerAdapter。当离开当前位置一个或多个滑动时,ViewPager似乎会破坏宿主片段的视图。 这些视图都是简单的列表,完全不需要这种优化,因此我想禁用它。这引起了一些视觉问题,因为列表中应用了布局动画,并且销毁并重新创建了这些动画,然后对其进行重放。它还每次都会显示滚动条简介动画(滚动条短暂可见以表明可以滚动),这可能会分散注意力,并且用户的当前滚动位置会在此过程中丢失。 在第一次滑动之前,它也不会加载第三个片段,这是有问题的,因为每个片段都处理自己的服务调用,我希望在活动加载时同时触发所有三个片段。延迟第三次服务呼叫并不理想。 有什么办法说服ViewPager停止这种行为,并将所有片段保留在内存中?

7
我可以将View pager与视图一起使用吗(不能与片段一起使用)
我ViewPager用于在之间滑动Fragments,但是我ViewPager可以在Views简单的XML布局之间滑动吗? 这是我Adapter的ViewPager 页面,用于在片段之间滑动: import java.util.List; import com.app.name.fragments.TipsFragment; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.app.FragmentTransaction; import android.view.ViewGroup; public class PageAdapter extends FragmentPagerAdapter { /** * */ List<Fragment> fragments; public PageAdapter(FragmentManager fm,List<Fragment> frags) { super(fm); fragments = frags; } @Override public Fragment getItem(int arg0) { // TODO Auto-generated method stub return …

15
Android:垂直ViewPager [关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 去年关闭。 改善这个问题 有没有一种方法可以使ViewPager水平滚动而不是垂直滚动?

19
NestedScrollView中的ViewPager
我需要创建一个类似于Google Newsstand的界面,该界面是一种在折叠的标题(垂直滚动)上的ViewPager(水平滚动)。我的要求之一是使用Google IO 2015上提供的新设计支持库。(http://android-developers.blogspot.ca/2015/05/android-design-support-library.html) 基于Chris Banes(https://github.com/chrisbanes/cheesesquare)创建的示例,我已经达到了可以执行折叠行为的程度,但是具有基本的LinearLayout(无水平滚动)。 我试图用ViewPager替换LinearLayout,但出现黑屏。我玩过:宽度,重量和各种视图组,但是..仍然是空白屏幕。似乎ViewPager和NestedScrollView彼此不喜欢。 我通过使用Horizo​​ntalScrollView尝试了一种解决方法:它可以工作,但是我放弃了PagerTitleStrip功能的好处,也没有将注意力集中在单个面板上(我可以在两个面板之间水平停​​止)。 现在,我不再有任何想法,如果有人可以引导我找到解决方案... 谢谢 这是我最新的布局文件: <?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.AppBarLayout android:layout_width="match_parent" android:layout_height="@dimen/header_height" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <android.support.design.widget.CollapsingToolbarLayout android:layout_width="match_parent" android:layout_height="match_parent" app:contentScrim="?attr/colorPrimary" app:expandedTitleMarginEnd="64dp" app:expandedTitleMarginStart="48dp" app:layout_scrollFlags="scroll|exitUntilCollapsed"> <include layout="@layout/part_header" android:layout_width="match_parent" android:layout_height="wrap_content" app:layout_collapseMode="parallax"/> <android.support.v7.widget.Toolbar android:id="@+id/activity_main_toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:layout_collapseMode="pin" app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <android.support.v4.widget.NestedScrollView android:id="@+id/activity_main_nestedscrollview" android:layout_width="match_parent" android:layout_height="match_parent" android:fillViewport="true" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <android.support.v4.view.ViewPager …

13
将选项卡与ViewPager一起使用时出现错误“ Java.lang.IllegalStateException活动已被破坏”
我有一个应用程序,其中包含在选项卡模式下使用ActionBarSherlock的应用程序。我有5个选项卡,每个选项卡的内容都是使用片段处理的。但是对于tab2,我有一个片段,该片段的xml文件包含一个ViewPager元素,而该元素又具有一些片段页面。最初启动应用程序时,我可以在选项卡之间进行切换,但是第二次按tab2时,出现上述错误。主要活动如下: public class MainActivity extends SherlockFragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ActionBar actionBar = getSupportActionBar(); ActionBar.Tab tab1 = actionBar.newTab().setText("Tab1"); ActionBar.Tab tab3 = actionBar.newTab().setText("Tab3"); ActionBar.Tab tab2 = actionBar.newTab().setText("Tab2"); ActionBar.Tab tab4 = actionBar.newTab().setText("Tab4"); ActionBar.Tab tab5 = actionBar.newTab().setText("Tab5"); Fragment fragment1 = new Tab1(); Fragment fragment3 = new Tab3(); Fragment …

7
加载数据后如何防止滚动视图滚动到Web视图?
所以我有一个令人着迷的问题。尽管我没有手动或以编程方式滚动视图,但加载内部数据后,WebView仍会自动滚动到。 我在viewpager中有一个片段。当我第一次加载寻呼机时,它会按预期工作,并且显示所有内容。但是,一旦我“翻转页面”,数据就会加载,并且WebView会弹出到页面顶部,将其上方的视图隐藏起来,这是不希望的。 有谁知道如何防止这种情况的发生? 我的布局看起来像这样: <?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="@color/background" > <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical" > <TextView android:id="@+id/article_title" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginRight="10dp" android:layout_marginLeft="10dp" android:layout_marginTop="10dp" android:layout_marginBottom="2dp" android:text="Some Title" android:textAppearance="?android:attr/textAppearanceLarge" android:textColor="@color/article_title" android:textStyle="bold" /> <LinearLayout android:id="@+id/LL_Seperator" android:layout_width="fill_parent" android:layout_height="1dp" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_marginTop="5dp" android:layout_marginBottom="5dp" android:background="@color/text" android:orientation="horizontal" > </LinearLayout> <WebView android:id="@+id/article_content" android:layout_width="match_parent" android:layout_marginRight="10dp" android:layout_marginLeft="10dp" android:layout_height="wrap_content" …


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.