Articles of android viewpager

我如何使用片段在ViewPager中放置标题?

我使用ViewPager允许用户在片段之间滑动。 我如何添加每个片段的标题到屏幕上? package com.multi.andres; import java.util.List; import java.util.Vector; import com.viewpagerindicator.TitlePageIndicator; import com.viewpagerindicator.TitleProvider; import android.os.Bundle; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentActivity; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; public class ViewPagerFragment extends FragmentActivity{ private PagerAdapter mPagerAdapter; //contiene el pager adapter private static String[] titulosPaginas = { "APP 1", "APP 2" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.setContentView(R.layout.lcmeter); […]

在查看器之间插入分隔符

我怎么能插入一些填充视图页面内的页面之间像市场应用程序 – 黑色线

TabLayout的Tabs不显示

我有一个主要的活动,其中包含一个片段,而该片段又承载一个TabLayout(与一个ViewPager)。 显示标签栏,不显示标签本身。 这里是我的主要活动中用于显示主机片段的代码: Fragment fragment = new BMITabsFragment(); FragmentManager fragmentManager = getSupportFragmentManager(); fragmentManager.beginTransaction().replace(R.id.content_frame, fragment).addToBackStack(Constants.BMI_TABS_FRAGMENT).commit(); 这是我的片段,它承载TabLayout,这是BMITabsFragment(SA): public class BMITabsFragment extends Fragment { … @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); if (getArguments() != null) { mParam1 = getArguments().getString(ARG_PARAM1); mParam2 = getArguments().getString(ARG_PARAM2); } } @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); // Get the […]

使用FragmentActivity中的viewPager方向改变

我正在尝试构build一个以纵向和横向模式显示书籍的应用程序。 所以显然有1页在肖像和2在景观。 每个模式工作的相当不错,但是当我从纵向更改方向viewPager尝试从纵向模式获取2页,而不是试图从横向模式获取2个双页…实际上, FragmentStatePagerAdapter保持2个片段以纵向创build并在为横向模式创build2个双页之前使用它们 。 如果我再次以纵向模式切换,FragmentStatePagerAdapter使用之前在横向模式下创build的2个片段,所以我再次看到1双页,而不是1单页等..如果我继续切换方向,我得到一个OutOfMemoryError,由于FragmentStatePagerAdapter从来没有刷新方向变化的碎片。 这里有两个用例,以便于理解: 我以纵向模式启动viewPager 我看到页面1好 我向右滑动,然后看第2页 我向右滑动,然后看第3页 我将屏幕旋转到横向模式 我看到第3页错误 我向右滑动,并看到第4页错误 我向右滑动,我看到第5页和第6页确定 我以纵向模式启动viewPager 我看到页面1好 我向右滑动,然后看第2页 我向右滑动,然后看第3页 我向右滑动,然后看第4页 我向右滑动,然后看第5页 我将屏幕旋转到横向模式 我看到第5页错误 我向左滑动,并看到第4页错误 我向左滑动,我看到页面2和3确定 public class PlayerFragmentActivity extends FragmentActivity { private Intent mIntent; private ViewPager mPortraitPager; private ViewPager mLandscapePager; private Boolean mIsLandscape; private String mKey; private int mNbPages; private int mNbDoublePages; private PageFactory mPageFactory; […]

PageTransformer转换中的ViewPager余量

我有一个ViewPager,其中每个视图都是卡片在甲板上的表示。 每张卡片都使用ViewPager边距在边框上有阴影: cardsViewPager.setPageMargin(getResources().getDisplayMetrics().widthPixels / 20); cardsViewPager.setPageMarginDrawable(R.drawable.shadow); 它按预期工作。 但是,如果我添加一个PageTransformer,以便右侧的卡片堆叠在左侧的卡片顶部: public class ScalePageTransformer implements PageTransformer { private final ViewPager mViewPager; public ScalePageTransformer(ViewPager viewPager) { this.mViewPager = viewPager; } @Override public void transformPage(View page, float position) { if (position <= 0) { int pageWidth = mViewPager.getWidth(); final float translateValue = position * -pageWidth; if (translateValue > -pageWidth) { […]

Viewpager在从互联网加载图像后不包装内容

我有一个viewpager存放由Nostra的通用图像加载器加载的图像。 这个viewpager也是列表视图的一部分。 将高度设置为wrap_content不起作用,它不显示任何内容,但是如果将其设置为特定的倾angular,则它将起作用。 我怀疑的是,viewpager可以在加载图像之前包装它的内容,所以它不显示任何东西。 这是布局: <?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:layout_marginRight="16dp" android:layout_marginLeft="16dp" android:layout_marginTop="16dp"> <android.support.v4.view.ViewPager android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@id/viewpager" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> <com.sblive.other.CirclePageIndicator android:id="@+id/titles" android:layout_height="wrap_content" android:layout_width="fill_parent" android:layout_marginBottom="3dp" android:layout_gravity="center_horizontal|bottom" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" android:layout_centerHorizontal="true"/> <ProgressBar android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/progressBar" android:layout_centerVertical="true" android:layout_centerHorizontal="true" /> </RelativeLayout> ViewPager的PagerAdapter的一部分: @Override public Object instantiateItem(ViewGroup container, int position) { inflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); View […]

在android中使用viewpager的SearchView与多个片段

我想实现一个ViewPager中存在多个片段的SearchView。 所有的fragemnts包含列表,我想过滤这些列表,并创build一个新的ListView,根据它属于哪个片段对结果进行分类。 但我的searchView不能使用一个片段。 这是我的主要活动: package com.codeon.directory; import android.app.SearchManager; import android.content.Context; import android.os.Bundle; import android.support.design.widget.TabLayout; import android.support.v4.app.Fragment; import android.support.v4.app.FragmentManager; import android.support.v4.app.FragmentPagerAdapter; import android.support.v4.view.ViewPager; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.SearchView; import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.MenuInflater; import android.view.View; import com.codeon.directory.fragments.FiveFragment; import com.codeon.directory.fragments.FourFragment; import com.codeon.directory.fragments.OneFragment; import com.codeon.directory.fragments.SixFragment; import com.codeon.directory.fragments.ThreeFragment; import com.codeon.directory.fragments.TwoFragment; import java.util.ArrayList; import java.util.List; /** * Created by Nikhil […]

一个viewpager页面中有两个片段

目前,我通过FragmentPagerAdapter的每个viewpager页面使用一个片段。 但是现在我想在平板电脑的一个viewpager页面中使用两个面板视图。 例如,左侧是列表视图,右侧是gridview。 有人知道我怎么能做到这一点? 非常感谢!

dynamic设置查看传呼机高度

我有视图寻呼机作为列表项行,我设置数据到寻呼机的适配器显示在列表视图。这里是我的代码: Pager_Item布局 <?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" /> </LinearLayout> 列表视图行项目 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <android.support.v4.view.ViewPager android:id="@+id/mypager" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout> ListView GetView ViewHolder holder; if(rowView==null){ holder = new ViewHolder(); […]

避免从Android回收位图

我有两个asynchronous任务之一,其中一个下载图像,另一个添加模糊效果,但我的问题是,在onPostExecutecallback的下载任务我想把位图在一个ImageView中,然后传递给第二个任务运用模糊效果,但有时我得到 trying to use a recycled bitmap 我已经search了很多关于这个问题,但我没有find一个明确的解决scheme,以避免这个问题,特别是我使用这个图像在一个视图的分页器这是我的代码 protected void onPostExecute(Bitmap result) { Bitmap bitmap=result; bmImage.setImageBitmap(bitmap); if(bitmap!=null && !bitmap.isRecycled()){ Bitmap bb=bitmap; new blurTask().execute(bb);} } 这是我的完整的片段代码 public class ScreenSlidePageFragment extends Fragment { int page; String img; // ImageView blured; String[] checkblur; int size; Boolean onCreateViewCalled = false; ImageView blur; ImageView imageView; public static ScreenSlidePageFragment newInstance(int page, […]