为了账号安全,请及时绑定邮箱和手机立即绑定

使用 PagerAdapter 和 ViewPager 中的选项卡之间的滑动问题

使用 PagerAdapter 和 ViewPager 中的选项卡之间的滑动问题

湖上湖 2021-12-30 17:32:51
我将 PagerAdapter 用于 ViewPager Adapter,没有任何片段,只有一个选项卡布局,这很好,我可以把我的数据和......但我有一个滑动问题......它是颠倒的......我想要正确的向左但从左向右滑动...ViewPagerAdapter.javapublic class ViewPagerAdapter extends PagerAdapter {  private static final String TAG = "ViewPagerAdapter";  private Context context;  private List<PersonItem> personItemList;  public ViewPagerAdapter(Context context, List<PersonItem> personItemList) {    this.context = context;    this.personItemList = personItemList;  }  @Override  public boolean isViewFromObject(@NonNull View view, @NonNull Object object) {    return view == object;  }  @Override  public int getCount() {    return personItemList.size();  }  @Override  public void destroyItem(@NonNull ViewGroup container, int position, @NonNull Object object) {    container.removeView((View) object);  }  @Nullable  @Override  public CharSequence getPageTitle(int position) {    return personItemList.get(position).getTabTitle();  }  @NonNull  @Override  public Object instantiateItem(@NonNull ViewGroup container, int position) {    LayoutInflater inflater = LayoutInflater.from(context);    ViewGroup layout = (ViewGroup) inflater.inflate(R.layout.fragment_layout, container, false);    PersonItem personItem = personItemList.get(position);    ImageView imgPerson = layout.findViewById(R.id.img_person);    TextView txtPersonContent = layout.findViewById(R.id.txt_person_content);    if (personItem.getImageUrl() != null) {      Glide.with(context)        .load(personItem.getImageUrl())        .into(imgPerson);    } else {      imgPerson.setVisibility(View.GONE);    }    if (personItem.getContent() != null) {      txtPersonContent.setText(personItem.getContent());    }    container.addView(layout);    return layout;  }
查看完整描述

2 回答

?
ibeautiful

TA贡献1993条经验 获得超5个赞

试试这个

步骤 1. 更改视图寻呼机的旋转,

viewpager.setRotationY(180);

Step 2. 然后再次改变作为viewpager的子元素的fragment容器的方向,

view_pager_fragment_parent_viewgroup.setRotationY(180);


查看完整回答
反对 回复 2021-12-30
?
holdtom

TA贡献1805条经验 获得超10个赞

您也可以尝试添加android:layoutDirection="rtl"到您的ViewPager:


<androidx.viewpager.widget.ViewPager

    android:id="@+id/viewpager"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    android:layoutDirection="rtl"

    app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

并将当前页面设置为最后一个以防万一:


viewPagerAdapter = new ViewPagerAdapter(this, personItems);

viewPager.setAdapter(viewPagerAdapter);

viewPager.setCurrentItem(viewPagerAdapter.getCount() - 1); // instead of 0

tabLayout.setupWithViewPager(viewPager);


查看完整回答
反对 回复 2021-12-30
  • 2 回答
  • 0 关注
  • 141 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信