Articles of android viewpager

getSupportFragmentManager不在DialogFragment上编译

我怎么能这样说: public class TagsDialog extends DialogFragment { @Override public Dialog onCreateDialog(Bundle savedInstanceState) { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); LayoutInflater inflater = getActivity().getLayoutInflater(); builder.setView(inflater.inflate(R.layout.tags_dialog, null)); builder.setMessage(“This is a message”).setTitle(“TAGS”); return builder.create(); } } 从ViewPager里面的Fragment里面: public class MyFragment extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { … ImageView btnTags = (ImageView)view.findViewById(R.id.btnTags); btnTags.setOnClickListener(new […]

android – 将水平viewpager与垂直viewpager结合使用

我想将默认的水平ViewPager与某种垂直ViewPager组合在一起 。 我的方法是水平ViewPager提供的Fragments是子类化垂直ViewPager。 public class SubWebViewFragment extends Fragment, VerticalViewPager { } 因此,水平ViewPager提供的每个Fragment应该同时充当VerticalViewPager,构建某种矩阵。 另外,我必须有可能去这个矩阵中的某个页面。 例如,我想选择水平ViewPager的第2页,在这个页面中,我想要转到垂直ViewPager的第3页。 // pseudo code HorizontalViewPager.setCurrentItem(1, true); activeHorizontalPage.getVerticalViewPager.setCurrentItem(2, true); 我对如何解决这个问题感到有点迷茫。

Android ViewPager,屏幕旋转后标签不保持状态

我正在使用类似于Google提供的实现的标签实现ViewPager。 我的应用有以下行为。 我的ViewPager有3个“页面”(fragA,fragB,fragC),我在ViewPager上面实现了3个标签。 谷歌的实现和我的实现之间的区别在于标签不用于在片段之间导航。 例如,按下我的一个选项卡,在可见片段上加载一组不同的数据。 我可以选择tab3选择fragA,选择tab2选择fragB,选择tab1选择fragC。 问题是当我旋转屏幕时。 如果我在FragmentA上选择了第三个选项卡,当我旋转屏幕时,我会保持相同的片段,但现在,第一个选项卡被选中。 我希望在旋转屏幕时保持选择相同的选项卡。 这是我管理标签的类: public class ManagerTabs extends Fragment { private TabHost.TabContentFactory mFactory = new TabHost.TabContentFactory() { @Override public View createTabContent(String tag) { View v = new View(getActivity()); v.setMinimumWidth(0); v.setMinimumHeight(0); return v; } }; public static ManagerTabs newManager() { return new ManagerTabs(); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup […]

动态高度不起作用的Viewpager(始终使用第一个片段的高度)

我已经按照这个和那个答案,我也find了这个链接。 我使用这些资源进行试验和错误。 现在,我的自定义ViewPager成功测量了其内容, 但只显示了第一个内容。 仅供参考,我的ViewPager拥有一些复杂的视图,比如ExpendableListView – 这就是为什么这些资源中的代码都不能正常工作,我需要自己修改代码。 我有4个片段(内容),所以我使用pager.setOffscreenPageLimit(3); 这是我的自定义ViewPager : public class CustomViewPager extends ViewPager{ public CustomViewPager (Context context) { super(context); } public CustomViewPager (Context context, AttributeSet attrs) { super(context, attrs); } @Override public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { super.onMeasure(widthMeasureSpec, heightMeasureSpec); boolean wrapHeight = MeasureSpec.getMode(heightMeasureSpec) == MeasureSpec.AT_MOST; final View tab = getChildAt(0); int width […]

使用没有片段的页面适配器

是否可以在没有片段的情况下使用ViewPager ? 我可以find的所有示例都会向ViewPager加载几个片段。 我想以类似于ListView方式使用它。 我想创建一个自定义适配器,根据寻呼机所处的位置来扩展布局。 如果有可能有人能指出我的一个例子吗?

重新创建ViewPager中的片段

我有一个带容器的FragmentActivity ,我将Fragment与ViewPager放在一起。 在ViewPager我有3个Fragment : [MainActivity] [ViewPagerFragment] [Fragment1][Fragment2][Fragment3] 当用户单击Fragment1 / Fragment2 / Fragment3上的按钮时,我将ViewPagerFragment替换为OtherFragment ,因此层次结构如下所示: [MainActivity] [OtherFragment] 当我点击Back按钮时,会重新创建ViewPagerFragment ,以及它的嵌套Fragment ( Fragment1 / Fragment2 / Fragment3 )。 有没有办法保存ViewPagerFragment及其嵌套片段的状态? 这样碎片会保持状态而不会重新创建? 我为ViewPagerFragment设置了setRetainInstance(true) ,但似乎没有生效。

自定义视图,使用不同的子视图对角分割布局

如何将LinearLayout或RelativeLayout对角分割成两种不同的大小,每种大小都有不同的子视图。 上半部分中的ViewPager示例和底部中的不同LinearLayout 。 像这样的东西: 我怎样才能做到这一点? 请帮忙

禁用ViewPager分页的最佳方法

我正在开发一个将ViewPager作为菜单的应用程序。 每个fragment都有一堆子视图,可以是ListView , ScrollView , LinearLayout等…其中一个fragments有一个设置按钮,用ScrollView和一些LinearLayout (按钮)和SeekBar切换设置面板( LinearLayout包装器)孩子的。 此设置面板使用向上或向下滑动animation(当被关闭时)animation,当它可见时我禁用ViewPager分页: @Override public boolean onTouchEvent(MotionEvent event) { if (!pagingEnabled && event.getAction() == MotionEvent.ACTION_MOVE) { return true; } return super.onTouchEvent(event); } @Override public boolean onInterceptTouchEvent(MotionEvent event) { if (!pagingEnabled && event.getAction() == MotionEvent.ACTION_MOVE) { return true; } return super.onInterceptTouchEvent(event); } public boolean isPagingEnabled() { return pagingEnabled; } public […]

如何通过点击Android当前标签中的按钮来转到其他标签?

我尝试在Android中编写代码,通过单击按钮从一个选项卡切换到另一个选项卡。 我知道通过单击选项卡我们可以从一个选项卡切换到另一个选项卡但是可以通过单击一个按钮从一个选项卡切换到另一个选项卡。 我尝试了以下教程。 http://www.androidhive.info/2013/10/android-tab-layout-with-swipeable-views-1/ 在本教程中,我以下列方式编辑了MovieFragment.java文件。 MovieFragment.java package info.androidhive.tabsswipe; import info.androidhive.tabsswipe.R; import android.annotation.SuppressLint; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.view.ViewPager; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; public class MoviesFragment extends Fragment { ViewPager viewPager; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container,Bundle savedInstanceState) { View rootView = inflater.inflate(R.layout.fragment_movies, container, false); Button btn = (Button) […]

将Viewpager作为标题添加到listView

我正在尝试编写一个活动,显示一个带有一些图像的viewpager和下面的listview以及一些数据..但我的问题是我只能在屏幕的最后一部分滚动listview我想让viewpager可以滚动listview所以我想把它作为标题..这是我的XMl文件 我在课堂上写这篇文章 @Override protected void onPostExecute(List result) { Utils.pagerNews(result); Utils.listNews(result); ImagePagerAdapter pAdapter = new ImagePagerAdapter( appManager.getPagerNews()); pager.setAdapter(pAdapter); View headerView = getLayoutInflater().inflate(R.layout.main_screen_components , null , false); NewsListAdapter adapter = new NewsListAdapter(getBaseContext(), appManager.getListNews()); listView.addHeaderView(headerView); listView.setAdapter(adapter); progress.dismiss(); } 当我运行这个代码时它给了我一个重复的分页器..修复了一个数据和一个空的一个作为我的listview的标题..当我删除其中包括我的寻呼机它崩溃当我尝试设置适配器到寻呼机。 。 任何想法 ?