标签: android-viewpager

你如何获得适用于Android的ViewPager的当前页码?

我想知道当前的页面位置ViewPager.我创建一个适配器并将此适配器设置为ViewPager.现在我想知道当前视图的当前页码或位置,因为我想在该特定页面上启动一些额外的事件.

我用来viewPager.setCurrentItem(1);设置第一项.

获取当前页面是否有类似的方法?

android android-viewpager

81
推荐指数
8
解决办法
10万
查看次数

如何禁用或启用android中的viewpager滑动

我想做的是:我正在尝试在程序运行时以编程方式启用/禁用分页器中的滑动

例如:在流程上,如果我检查一个条件,如果它返回true启用滑动,如果条件返回false禁用滑动.


我正在使用的解决方案就是这个

public class CustomViewPager extends ViewPager {

private boolean enabled;

public CustomViewPager(Context context, AttributeSet attrs) {
    super(context, attrs);
    this.enabled = true;
}

@Override
public boolean onTouchEvent(MotionEvent event) {
    if (this.enabled) {
        return super.onTouchEvent(event);
    }

    return false;
}

@Override
public boolean onInterceptTouchEvent(MotionEvent event) {
    if (this.enabled) {
        return super.onInterceptTouchEvent(event);
    }

    return false;
}

public void setPagingEnabled(boolean enabled) {
    this.enabled = enabled;
} }
Run Code Online (Sandbox Code Playgroud)

然后选择此项而不是XML中的内置viewpager

<mypackage.CustomViewPager 
android:id="@+id/myViewPager" 
android:layout_height="match_parent" 
android:layout_width="match_parent" />
Run Code Online (Sandbox Code Playgroud)

您只需要使用"false"调用"setPagingEnabled"方法,用户将无法滑动到分页.


上述方法的问题:我无法在流上设置属性,I:e ....我可以启用滑动或禁用滑动.但我不能根据条件这样做 …

android android-viewpager

76
推荐指数
6
解决办法
9万
查看次数

如何测试片段视图是否对用户可见?

我有一个ViewPager,每个页面都是一个Fragment视图.我想测试一个片段是否在可见区域.Fragment.isVisible只测试

  • 片段附加到活动
  • 片段设置为可见
  • 片段已添加到视图中

ViewPager将创建3个(默认情况下)片段,并且所有三个片段都符合上述条件,但只有一个实际上对用户可见(人)

user-interface android android-fragments android-viewpager

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

是否可以访问ViewPager正在查看的当前片段?

我有一个带有ViewPager三个和三个Fragment的应用程序.我正在试图弄清楚如何让当前Fragment被观看,以便我可以得到它的论据.

OnPageChangeListener抓住了当前页面索引,但是

ViewPager.getChildAt(int position);
Run Code Online (Sandbox Code Playgroud)

返回一个View.这View和现在的关系是什么Fragment

android android-fragments android-viewpager

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

以编程方式滑动时更改ViewPager动画持续时间

我正在改变幻灯片

viewPager.setCurrentItem(index++, true);
Run Code Online (Sandbox Code Playgroud)

但它变快了.有没有办法手动设置动画速度?

搜索过,发现有人问到同样的地方(除了StackOverflow,也许我有运气:)),没有答案.

喜欢:

https://groups.google.com/group/android-developers/browse_thread/thread/a13405c0b5833893?fwc=1

提前致谢.

animation android android-viewpager

69
推荐指数
4
解决办法
6万
查看次数

PagerAdapter开始位置

我使用以下示例来表达我的viewPager:http: //code.google.com/p/viewpagerexample/issues/list

这个例子的问题是我无法弄清楚如何设置我的起始位置,默认的起始位置是0.基本上我不能控制左边或右边是否有可用的视图.

有没有办法控制中心的View当前位置?有更好的方法吗?是否有可能使其圆形?

android swipe android-viewpager

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

如何在视图点击事件框架布局后禁用

这里我有一个视图分页器活动,它有一个imageview和2个覆盖条.我使用android xml文件布局本身制作了覆盖条.

我的要求就是这样

1)第一次单击视图寻呼机的imageview =显示顶部和底部矩形覆盖栏.2)第二次单击视图寻呼机的imageview =隐藏这些叠加.

这两个都是像android gallary视图类型的功能.

但是,当这时显示这些顶部和底部布局栏时,我只想使用按钮,只需单击此布局中声明的按钮.

但是我没有成功实现这个目标.

问题

1)什么时候top or bottom bar如果我可以点击next or previous按钮而不是它后面的imageview单击触摸事件的事件,我的酒吧变得不可见.2)只需要声明按钮事件3)当我触摸覆盖条时,避免单击视图.

简而言之,当我的顶部和底部图像条出现时,从顶部和底部图像条没有发生图像查看事件.我可以点击imageview,但是当我实际点击下一个或上一个或分享按钮时,我不能点击.

所以这些是我面临的问题,请帮助我.

源代码 :

activity_pager_image.xml

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />

    <RelativeLayout
        android:id="@+id/rl_top_overlay"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@drawable/slideshow_bar"
        android:visibility="gone" >

        <TextView
            android:id="@+id/tv_top_overlay"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:textIsSelectable="false" />
    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/rl_bottom_overlay"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        android:background="@drawable/slideshow_bar"
        android:visibility="visible" >

        <Button
            android:id="@+id/btn_left_arrow"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_centerVertical="true"
            android:layout_marginLeft="35dp"
            android:background="@drawable/ic_left_arrow" />

        <Button
            android:id="@+id/btn_below_share"
            style="@style/normalText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:layout_centerVertical="true"
            android:layout_marginRight="35dp" …
Run Code Online (Sandbox Code Playgroud)

android android-layout android-gui android-viewpager android-framelayout

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

Android ViewPager获取当前视图

我有一个ViewPager,我想获得当前选中和可见的视图,而不是位置.

  1. getChildAt(getCurrentItem) 返回错误 View
  2. 这并不是所有的时间.有时返回null,有时只返回错误的View.

    @Override
    public void setUserVisibleHint(boolean isVisibleToUser) {
        super.setUserVisibleHint(isVisibleToUser);
    
        if (isVisibleToUser == true) { 
            mFocusedListView = ListView; 
        }
    }
    
    Run Code Online (Sandbox Code Playgroud)
  3. PageListener上ViewPagergetChildAt()也没有工作,每次都不给我正确的观点.

我怎样才能获得当前可见的视图?

View view = MyActivity.mViewPager.getChildAt(MyActivity.mViewPager.getCurrentItem()).getRootView();
ListView listview = (ListView) view.findViewById(R.id.ListViewItems);
Run Code Online (Sandbox Code Playgroud)

tabs android android-fragments android-viewpager

66
推荐指数
4
解决办法
9万
查看次数

在Android中设置ViewPager的默认页面

我使用以下代码,MAX是2页.默认情况下,位置为0并在右侧添加新页面.我膨胀了两个布局文件.

如何在应用启动时显示page1并在左侧添加新页面?谢谢.

main.xml中

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="fill_parent"
    android:layout_height="fill_parent">


    <android.support.v4.view.ViewPager
        android:layout_width="wrap_content" android:layout_height="wrap_content"
        android:id="@+id/pagerView" />


</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

Java代码

public class MyPagerActivity extends Activity {
    private Context context;    
    private int pageNumber;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        context = this;

        ViewPager pagerView = (ViewPager)findViewById(R.id.pagerView);
        pagerView.setAdapter(new AwesomePagerAdapter());    

    }


    private class AwesomePagerAdapter extends PagerAdapter{

        @Override
        public void destroyItem(View collection, int position, Object view) {
            ((ViewPager) collection).removeView((View)view);            
        }

        @Override
        public void finishUpdate(View arg0) {
            //setPageTitles(getPageNumber());
        }

        @Override
        public int getCount() {
            return …
Run Code Online (Sandbox Code Playgroud)

animation android swipe android-viewpager

65
推荐指数
3
解决办法
5万
查看次数

检测片段内的ViewPager选项卡更改

我有一个ViewPager多个片段.在一个Fragment我播放音频.当我滑动到另一个片段时,我想停止音频播放.如何检测到另一个片段现在可见ViewPager

我试着重写onStoponHiddenChanged.没有成功.必须有一些"你不再活跃"的方法来覆盖.没有?

android android-fragments android-viewpager

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