gpt4 book ai didi

android - 在 ViewPager 中垂直滚动页面

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:13:35 26 4
gpt4 key购买 nike

这可能是显而易见的,并且是一个完全不需要的帖子,但我在解决 VewPager 页面上允许垂直滚动功能的方法时遇到了很大的问题,而且谷歌甚至这里的解决方案都很少。我发现有些人声称可以解决这个问题,但他们似乎被扩展了并且令人费解。因此,对于那些可能正在寻找相同问题的人来说,这里是解决方案。有了这个(你会想要制作比我在这里写的更大的字符串)你将能够垂直滚动内容并在页面之间滑动。

布局.xml

<LinearLayout 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/conpageslider"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>

滚动viewpager类

public class ScrollingViewPager extends Activity{

private ViewPager pager;
private Context cxt;
private CharSequence[] pages = {"stuff", "more stuff", "other stuff"};
private PageSlider ps;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.layout);
cxt = this;
ps = new PageSlider();
pager = (ViewPager) findViewById(R.id.conpageslider);
pager.setAdapter(ps);

}

public class PageSlider extends PagerAdapter{

@Override
public int getCount() {
return pages.length;
}

@Override
public Object instantiateItem(View collection, int position) {
ScrollView sc = new ScrollView(cxt);
sc.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
sc.setFillViewport(true);
TextView tv = new TextView(cxt);
tv.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));
tv.setText(pages[position]);
tv.setPadding(5,5,5,5);
sc.addView(tv);
((ViewPager) collection).addView(sc);

return sc;
}

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

@Override
public boolean isViewFromObject(View view, Object object) {
return view==((ScrollView)object);
}

}
}

我愿意对代码提出批评,但至少这里是一个有效的例子

最佳答案

我做了一个类似的,在 viewpager 中使用 fragment 。tabWigdet 可以显示或不显示。该示例包含在 android-support-v4 演示应用程序中。

关于android - 在 ViewPager 中垂直滚动页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8936327/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com