Articles of android viewpager

CardView layout_margin无效

我正在玩新的CardView,但利润似乎并没有被应用。 <?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:card_view="http://schemas.android.com/apk/res-auto" android:id="@+id/card_view" android:layout_gravity="center" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="18dp" android:layout_marginLeft="18dp" android:layout_marginRight="18dp" card_view:cardCornerRadius="4dp" card_view:cardBackgroundColor="#FFA" card_view:layout_margind="4dp"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <TextView android:id="@+id/info_text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!"/> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!"/> </LinearLayout> </android.support.v7.widget.CardView> 顺便说一句,我用它在一个ViewPager中的片段。 即使我在CardView上使用android:layout_marginLeft =“18dp”和android:layout_marginRight =“18dp”,该卡也会扩展整个屏幕宽度(match_parent)。 任何想法我可能做错了什么?

在PopupWindow(或DialogFragment)中带有碎片的ViewPager – 错误没有为碎片的idfind视图

我用下面的代码创build了一个FragmentActivity public class Activity_principal1 extends FragmentActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_principal1); List<Fragment> fragments = getFragments(); AcoesMuscularesAdapter ama = new AcoesMuscularesAdapter(getSupportFragmentManager(), fragments); ViewPager vp_contentAcoesMusculares_SequenciaExercicios = (ViewPager) findViewById(R.id.vp_contentAcoesMusculares_SequenciaExercicios); vp_contentAcoesMusculares_SequenciaExercicios.setAdapter(ama); } private List<Fragment> getFragments(){ List<Fragment> fList = new ArrayList<Fragment>(); fList.add(FragmentAcoesMusculares.newInstance("Fragment 1",1)); fList.add(FragmentAcoesMusculares.newInstance("Fragment 2",2)); fList.add(FragmentAcoesMusculares.newInstance("Fragment 3",3)); return fList; } } 这是我的XML <?xml version="1.0" encoding="utf-8"?> <RelativeLayout […]

查看寻呼机和片段生命周期

我有一个ViewPager一次加载三个页面。 如果我从页面1滑动到页面2然后滑动到3,则第一页(片段)进入onPause() 。 然后,如果我滑动到第二页,第一页到达onResume()即使页1仍然是不可见的用户。 所以,我的问题是:如何区分代码中的第一个和第二个页面? 例如,如果我必须在片段可见时运行一段代码,那么这是如何完成的?

ViewPager FragmentPagerAdapter空指针

我通过使用Android 支持包中的ViewPager得到了这个错误。 从ViewPager教程的水平视图滑动 06-19 13:07:25.950: E/AndroidRuntime(16382): FATAL EXCEPTION: main 06-19 13:07:25.950: E/AndroidRuntime(16382): java.lang.NullPointerException 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.support.v4.app.BackStackRecord.doAddOp(BackStackRecord.java:347) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.support.v4.app.BackStackRecord.add(BackStackRecord.java:342) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.support.v4.app.FragmentPagerAdapter.instantiateItem(FragmentPagerAdapter.java:97) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.support.v4.view.ViewPager.addNewItem(ViewPager.java:649) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.support.v4.view.ViewPager.populate(ViewPager.java:783) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.support.v4.view.ViewPager.onMeasure(ViewPager.java:1016) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.view.View.measure(View.java:12728) 06-19 13:07:25.950: E/AndroidRuntime(16382): at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:594) 06-19 13:07:25.950: […]

如何实现PagerAdapter的查看回收机制?

我有一个寻呼机适配器,假设膨胀表示日历的复杂视图。 每年的日历膨胀大约需要350毫秒。 为了提高性能,我想实现存在于回收视图的ListView数组适配器( getView() convertView参数)中的机制。 这是我的当前getView()从适配器。 @Override protected View getView(VerticalViewPager pager, final DateTileGrid currentDataItem, int position) { mInflater = LayoutInflater.from(pager.getContext()); // This is were i would like to understand weather is should use a recycled view or create a new one. View datesGridView = mInflater.inflate(R.layout.fragment_dates_grid_page, pager, false); DateTileGridView datesGrid = (DateTileGridView) datesGridView.findViewById(R.id.datesGridMainGrid); TextView yearTitle = […]

Android:ViewFlipper或ViewPager – 哪个更好?

我陷入了一个阶段。 我总共有20到25个应该像ViewPager一样animation的图像。 现在所有的图像我有onClick()事件,我不知道我应该使用ViewPager或ViewFlipper 。 我可以实现这两个东西,这里没有问题。 我想要什么:我只是想要一个build议,根据我的问题,这将是最好的select, ViewFlipper或ViewPager ? 我所search的内容:我已经通过了StackOverflow的不同链接,即如何提高ViewFlipper / ViewAnimator和ViewFlipper与碎片的性能 ,但我找不到我想要的东西。 我曾与ViewPager有所合作,但当时只有3或4个Fragments我必须pipe理。 如果我用它来解决这个问题,这次我必须pipe理25个Fragments 。 所以我想知道是否有更好的解决scheme。 我也对ViewFliper做了一些研发,知道它只有一个Activity我不得不pipe理,但它没有ViewPager的animation准确性。 请build议我是否应该去ViewPager或ViewFlipper ? 提前致谢。

只有在PagerSlidingTabStrip中单击其选项卡时才能加载片段数据

我在我的项目中使用PagerSlidingTabStrip ,并显示片段中的数据。 它是一个很棒的图书馆,效果很好。 每个片段由一个从Web服务加载的学者讲座组成。 访问Web服务的代码位于Fragment的onCreateView方法中。 目前所有片段的数据在被添加到ViewPager的同时被加载。 我想知道是否有任何方式加载碎片的数据只有当用户点击/滑动到特定的选项卡。 并非一次一切。 目前的代码是非常标准的,我从提供的例子[android解决scheme]中获得帮助。 1 寻呼机适配器如下: public class ScholarDetailPagerAdapter extends FragmentPagerAdapter { private final String[] TITLES = { "Scholar Info", "Lectures"}; Scholar _scholar; public ScholarDetailPagerAdapter(FragmentManager fm, Scholar scholar) { super(fm); _scholar = scholar; } @Override public CharSequence getPageTitle(int position) { return TITLES[position]; } @Override public Fragment getItem(int arg0) { if(arg0 […]

TabLayout与viewpager不平滑滚动

编辑 我已经按照这些教程来解决这个问题。 http://www.truiton.com/2015/06/android-tabs-example-fragments-viewpager/ https://guides.codepath.com/android/google-play-style-tabs-using-tablayout http:/ /www.voidynullness.net/blog/2015/08/16/android-tablayout-design-support-library-tutorial/ 但是,在尝试几种解决scheme之后,这个问题依然存在。 这里是演示我面临的问题。自从我陷入这个问题以来,我已经有几个星期了。 链接演示。 我用来testing的设备是Nexus 4和Nexus 5。 带有ViewPager不能平滑滚动。 我需要滑动两次才能在下次点击时移动。 我浏览过网页,但找不到任何解决scheme。 我正在使用最新的支持devise库。 这是gradle文件 apply plugin: 'com.android.application' android { compileSdkVersion 23 buildToolsVersion "23.0.3" defaultConfig { applicationId "com.softoven.ultron" minSdkVersion 15 targetSdkVersion 23 versionCode 1 versionName "1.0" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } } dependencies { compile fileTree(dir: […]

如何正确处理与ViewPager和嵌套片段的屏幕旋转?

我有这个活动,它包含一个片段。 这个片段布局由一个带有几个片段的视图分页器(实际上是两个)组成。 当view pager被创build时,它的适配器被创build, getItem被调用并且我的子片段被创build。 大。 现在,当我旋转屏幕,框架处理重新创build片段,适配器是在我的onCreate从主要片段再次创build,但getItem永远不会被调用 ,所以我的适配器持有错误的引用(实际上是空值),而不是两个片段。 我发现的是,片段pipe理器(也就是子片段pipe理器)包含一个名为mActive的片段数组,这当然是不能从代码访问的。 但是有这个getFragment方法: @Override public Fragment getFragment(Bundle bundle, String key) { int index = bundle.getInt(key, -1); if (index == -1) { return null; } if (index >= mActive.size()) { throwException(new IllegalStateException("Fragement no longer exists for key " + key + ": index " + index)); } Fragment f […]

Android ViewPager与前一页和下一页可见?

我目前正在build立一个水平的video画廊。 我只想做一个像这样的事情,只有一个video中心和前一个和下一个video的一部分: 我第一次select了一个画廊,但它的局限性让我寻找别的东西。 我想显示一个页面指标,这是很难实现使用画廊。 第二个select是从Android兼容性库中查看ViewPager 。 我find了一个方法来实现页面指​​标 。 但现在,如何部分显示左右页面?