1
我需要Android中使用Xamarin的垂直ViewPager,并且该解决方案不起作用。我在java中搜索了一些示例,但是有一个由git社区开发的对象,可以完成所有工作。不幸的是,Xamarin没有。所以,这是我的代码,它不会给我错误,但它只显示一个黑屏。而已。Xamarin Android Vertical ViewPager
我扩展了ViewPager类
public class VerticalViewPager : ViewPager {
public VerticalViewPager (Context context):base(context) {
Init();
}
public VerticalViewPager(Context context, IAttributeSet attr):base(context, attr) {
Init();
}
public override bool OnTouchEvent (Android.Views.MotionEvent e) {
e.SetLocation (e.GetY(), e.GetX());
return base.OnTouchEvent (e);
}
private void Init() {
SetPageTransformer (true, new PagerTransformer());
OverScrollMode = Android.Views.OverScrollMode.Never;
}
}
,并创建我的PageTransformer
public class PagerTransformer : Java.Lang.Object, ViewPager.IPageTransformer {
int pageWidth;
int pageHeight;
float yPos;
public PagerTransformer() {}
public void TransformPage (View view, float position) {
pageWidth = view.Width;
pageHeight = view.Height;
if (position < -1) {
view.Alpha = 0;
}
else if (position <= 1) {
view.Alpha = 1;
// Counteract the default slide transition
view.TranslationX = (pageWidth * -position);
//set Y position to swipe in from top
yPos = position + pageHeight;
view.TranslationY = yPos;
}
else {
// This page is way off-screen to the right.
view.Alpha = 0;
}
}
}
在MainActivity,onCreate方法我设置
page = FindViewById<VerticalViewPager> (Resource.Id.vertical_pager);
,显然页面是VerticalViewPager对象。
如果我使用normale ViewPager,应用程序工作正常。关于黑屏原因的任何想法? 任何Java代码也是赏心悦目!
感谢