标签: viewpagerindicator

更改Android Viewpager中的pagetitle

我有一个ViewPager我正在使用getPageTitle方法来获取当前页面的标题.

这是适配器代码:

    @Override
    public Fragment getItem(int i) {
        details = productData.get(i);
        Fragment fragment = new ProductViewFragment();
        Bundle args = new Bundle();
        args.putInt(ProductViewFragment.ARG_SECTION_NUMBER, i + 1);
        fragment.setArguments(args);
        return fragment;
    }

    @Override
    public int getCount() {
        return productData.size();
    }

    public CharSequence getPageTitle(int position) 
    {
      return (position+1)+" of "+myData.size();
    }
Run Code Online (Sandbox Code Playgroud)

现在我想更新上一​​个和下一个片段的页面标题.我想将它们命名为"previous"和"next".它也应该在后续页面上动态更新.

我能够获得当前页面标题编号.例如,当我查看第5个片段时,当前片段将正确显示标题.在ViewPager的两个角上,它显示左侧的上一页标题编号和右侧的下一页标题编号.现在,我希望页面标题在左侧为"上一个",在右侧为"下一个",类似于Gmail应用程序以及它如何显示ViewPager中的邮件计数.

我想知道的主要内容是如何从Gmail应用程序中访问/修改当前片段中下一个/上一个片段的页面标题数据?

android android-fragments android-viewpager viewpagerindicator

7
推荐指数
1
解决办法
1万
查看次数

Android中viewpager的点指示器类似于Instagram多图像帖子

想要将点指示器作为附加图像.我希望如果项目超过5,那么应该出现小点,并且在滑动期间,它会调整大小.检查Instagram的实时视图(查找已上传超过5张图片的任何帖子)

我尝试只使用点的大小,并invalidate()在每次页面更改时重绘(by ),但是我无法在中间保持点.玩左右点不会造成任何大问题.但是当活动点位于中间时,会发生滚动效果.我怎样才能做到这一点?

我正在按住一个点列表并在页面更改时使用点大小和位置进行播放,而不是根据列表中的点属性使无效和绘制圆圈.然而,无法找到关于如何保持中间点的任何想法,所以我可以做出滚动效果.任何其他想法表示赞赏

点指示器

在此输入图像描述

java android viewpagerindicator

7
推荐指数
1
解决办法
5286
查看次数

ViewPagerIndicator不显示标题文本

我使用ActionBarSherlock和ViewPagerIndicator库来实现滑动效果和操作栏.因此,我可以滑动不同的片段,但不显示指标标题.

捕获的屏幕

这是我的FragmentActivity

public class eventActivity extends SherlockFragmentActivity {
    ViewPagerFragmentAdapter mAdapter;
    ViewPager mPager;
    PageIndicator mIndicator;

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.event_layout);

    ActionBar actionBar = getSupportActionBar();
    actionBar.setDisplayHomeAsUpEnabled(true);
    actionBar.setDisplayShowTitleEnabled(false);
    actionBar.setDisplayUseLogoEnabled(true);

    mAdapter = new ViewPagerFragmentAdapter(getSupportFragmentManager());
    mPager = (ViewPager)findViewById(R.id.pager);
    mPager.setAdapter(mAdapter);
    mIndicator = (TitlePageIndicator)findViewById(R.id.indicator);
    mIndicator.setViewPager(mPager);
    mIndicator.setCurrentItem(1);

}
   ......
Run Code Online (Sandbox Code Playgroud)

这是我的适配器

    public static class ViewPagerFragmentAdapter extends FragmentPagerAdapter implements TitleProvider {

    ArrayList<Fragment> fragments = new ArrayList<Fragment>();
    ArrayList<String> titles = new ArrayList<String>();

    public ViewPagerFragmentAdapter(FragmentManager fm) {
        super(fm);
        fragments.add(new eventInvitedFragment());
        titles.add("Invited");
        fragments.add(new eventAllFragment());
        titles.add("all");
        fragments.add(new eventParticipatedFragment());
        titles.add("participated");
    }


    @Override
    public …
Run Code Online (Sandbox Code Playgroud)

android actionbarsherlock android-actionbar viewpagerindicator

6
推荐指数
1
解决办法
2786
查看次数

Viewpager显示错误的页面

我有一个jake Wharton的viewpagerindicator,在那个viewpager我有6个页面.所有页面都包含listviews,我用AsyncTask加载它们.有时viewpager在错误的索引显示错误的页面.这是我的viewpager适配器:

public class TestFragmentAdapter extends FragmentPagerAdapter{
    protected static final String[] CONTENT = new String[] { "a","b","c","d","e","f" };

    private int mCount = CONTENT.length;
    Fragment fragment1,fragment2,fragment3,fragment4,fragment5,fragment6;

    public TestFragmentAdapter(FragmentManager fm) {
        super(fm);
        fragment1 = new CategoryListView();
        fragment2 = CustomizedListviewRecent.newInstance(41);
        fragment3 = CustomizedListviewMostRecents.newInstance(0);
        fragment4 = CustomizedListviewPopulars.newInstance();
        fragment5 = CustomizedListviewRecent.newInstance(42);
        fragment6 = CustomizedListviewRecent.newInstance(43);

    }

    @Override
    public Fragment getItem(int position) {
        if(position == 0)
            return fragment1;
        else if(position == 1)
            return fragment2;
        else if(position == 2)
            return fragment3;
        else if(position == 3)
            return fragment4;
        else …
Run Code Online (Sandbox Code Playgroud)

android android-viewpager viewpagerindicator

6
推荐指数
1
解决办法
2943
查看次数

使用ViewPager进行条件向导/初始化

首先启动应用程序将需要进行一些初始配置,因此我需要根据页面上的用户决策加载页面并将其滑动.所以我想设置并在动画决定之后滑动到正确的页面.视觉步骤指示器甚至可以改变......一切都应该是动态的如下:

在此输入图像描述

但ViewPager总是在片刻之后至少加载下一页(setOffscreenPageLimit(0)不允许); 实际上,当用户从设置片段中选择一个选项时,幻灯片动画会在所有中间页面中运行,并且在动画期间它们是可见的,因为我使用mIndicator.setCurrentItem(5, true);

我能够禁用手势幻灯片,但弧形动画不起作用.我可以设置mIndicator.setCurrentItem(5, false);但是在用户点击按钮到达相应页面后我仍然想要幻灯片动画.

Fragment安装程序具有Activity实现的Interface侦听器.从按钮调用侦听器,实现如下:

...
@Override
public void onRestoreLocal() {
    //The indicator contains ViewPager and it switches the page as well.
    mIndicator.setCurrentItem(5, true);
}
...

public class SectionsPagerAdapter extends FragmentStatePagerAdapter {
    ...
    @Override
    public Fragment getItem(int position) {
        // getItem is called to instantiate the fragment for the given page.
        // Return a PlaceholderFragment.
        Log.d(TAG, "getItem position="+position);

        switch (position) {
        case 0:
            return PlaceholderFragment.newInstance(R.layout.setup_fragment_1, position);
        case 1:
            return PlaceholderFragment.newInstance(R.layout.setup_fragment_2, position);
        case 2: …
Run Code Online (Sandbox Code Playgroud)

android android-animation android-fragments android-viewpager viewpagerindicator

6
推荐指数
0
解决办法
1576
查看次数

Android ViewPager Refresh片段

在我的应用程序中有2个选项卡(Android设计支持库)这是带有ViewPagerAdapter的片段:

public class ListaCanali extends Fragment {

public static TabLayout tabLayout;
public static ViewPager viewPager;
public static int int_items = 2 ;

@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
    View v =inflater.inflate(R.layout.lista_canali, container,false);

    //Titolo Fragment
    ((MainActivity) getActivity()).setActionBarTitle("Lista Canali");

    //FindViewById
    tabLayout = (TabLayout) v.findViewById(R.id.tabs);
    viewPager = (ViewPager) v.findViewById(R.id.viewpager);

    //Funzioni Tab
    viewPager.setAdapter(new MyAdapter(getChildFragmentManager()));
    tabLayout.post(new Runnable() {
        @Override
        public void run() {
            tabLayout.setupWithViewPager(viewPager);
        }
    });

    return v;
}


//Adattatore Tab
class MyAdapter extends FragmentPagerAdapter {

    public MyAdapter(FragmentManager fm) …
Run Code Online (Sandbox Code Playgroud)

tabs android android-fragments android-viewpager viewpagerindicator

6
推荐指数
2
解决办法
3万
查看次数

Android选择器改变颜色但不改变大小

我正在尝试使用选择器为ViewPager实现一个简单的点指示器.

当页面改变时,点应该改变颜色和大小,但它们只改变颜色,而大小保持不变.

选择器:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true">
        <shape android:shape="oval">
             <size
               android:height="12dp"
               android:width="12dp"/>
            <solid android:color="@color/highlight"/>
        </shape>
    </item>
    <item>
        <shape android:shape="oval">
            <size
              android:height="6dp"
              android:width="6dp"/>
            <solid android:color="@color/light_grey"/>
        </shape>
    </item>
</selector>
Run Code Online (Sandbox Code Playgroud)

用于布局

<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:padding="@dimen/margin_2x"
  android:src="@drawable/dot_selector">
</ImageView>
Run Code Online (Sandbox Code Playgroud)

在onCreate()中使用它来显示初始状态:

for (int i = 0; i < mPagerAdapter.getCount(); i++) {
    getLayoutInflater().inflate(R.layout.dot_indicator, viewPagerCountDots);
}
viewPagerCountDots.getChildAt(0).setSelected(true);
Run Code Online (Sandbox Code Playgroud)

这看起来像预期的那样

在此输入图像描述

但当我改变页面改变时的选择器状态...

@Override
public void onPageSelected(int position) {
    for (int i = 0; i < mPagerAdapter.getCount(); i++) {
        viewPagerCountDots.getChildAt(i).setSelected(i == position);
    }
}
Run Code Online (Sandbox Code Playgroud)

.. ..看起来像这样:

在此输入图像描述

使子项无效或ViewGroup不执行任何操作.有什么线索这里出了什么问题?

更新

正如Bartek Lipinski …

android android-layout android-viewpager viewpagerindicator

6
推荐指数
1
解决办法
2013
查看次数

在ViewPager或PagerAdapter中动态更改PagerIndicator的计数

在此输入图像描述

我想要的是:

  1. 当页面宽度为一半时,底部圆圈指示符的数量必须是页面数量的一半.

  2. 当页面宽度已满时,底部圆圈指示符的数量必须与页数一样多.

还有另外一个要求:

  1. 当页面宽度为一半时,我可以在单个滚动中滚动两页吗?
  2. 当页面宽度已满时,在单个滚动中只滚动一页?

页面宽度由PagerAdapter#getPageWidth()获取

谁能为此提供完美的解决方案?没有制作两个布局文件或两个适配器?

这是我为实现这个基于GIF的活动而开发的完整源代码.

问题改进将被接受.

https://github.com/raghavsatyadev/DemoPort

android android-adapter android-viewpager viewpagerindicator

6
推荐指数
1
解决办法
848
查看次数

Android操作栏列表导航停止工作

我正在使用ActionBarSherlock和ViewPagerIndicator来创建一个包含选项卡和列表导航的活动.

选项卡由FragmentStatePagerAdapter支持,并允许用户在应用程序的不同部分之间导航.列表导航允许用户切换他们当前所在的选项卡的视图模式,例如,如果他们正在查看搜索结果,则他们能够在列表和网格模式之间切换.

我遇到的问题是,当我在选项卡之间滚动时,列表导航会间歇性地停止工作.我可以单击微调器,它会显示选项列表,但是当我选择其中一个微调器中的文本时:

  • 没有更新,
  • onNavigationItemSelected()不会被调用.

(出于某种原因,使用FragmentPagerAdapter而不是FragmentStatePagerAdapter似乎可以经常停止问题,但偶尔也会发生.)

有任何想法吗?

谢谢

android actionbarsherlock android-actionbar viewpagerindicator

5
推荐指数
1
解决办法
351
查看次数

java.lang.IllegalStateException:尚未绑定ViewPager(使用JakeWharton ViewPager指标)

我在屏幕上有两个视图寻呼机.一个ViewPager使用JakeWharton的circleindicator,第二个使用TabPage Indicator.我需要使用异步调用从后端下载数据.一旦数据下载,我应该在viewpagers中显示数据.这是我的活动的代码片段.

   ViewPager pager1;
ViewPager pager2;

public onCreate(){
     //I Set Up ContentView
     //Locate ViewPagers & Indicators
     //pager1 = ...
     //pager2= ...
     //Locate Indicators
     CallAsyncTask().execute();


}
private class CallAsyncTask extends AsynTask{
          doinbackground(){
          //Download Data
          }
          onPostExecute(){
            displayData();

          }

}
private displayData(){
   // Set Up Adapters & Indicators for ViewPagers
}
Run Code Online (Sandbox Code Playgroud)

当我执行此代码时,我得到ViewPager Not Bound Exception.是否有解决方案.我认为 解决方法是在AsyncTask的onPostExecute()方法中设置setUpContentView.但是我还需要显示progressBars直到下载数据.我怎样才能实现这一切.

android viewpagerindicator

5
推荐指数
1
解决办法
4017
查看次数