【问题标题】:How to remove fading animation in vertical ViewPager in Android如何在Android中的垂直ViewPager中删除褪色动画
【发布时间】:2016-04-07 22:55:00
【问题描述】:

以上是我的问题截图。我只想在上下滑动时消除不透明度。当我向下滑动时,当前页面变为透明。我需要消除这种透明度。我没有扩展 ViewPager,而是扩展了活动。谁能给我解决这个问题?

public class VerticalViewPager extends Activity  {

private static final float MIN_SCALE = 0.75f;
PagerAdapter adapter;
private static final float MIN_ALPHA = 0.75f;
private boolean a;






@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.verticalviewpager);

    fr.castorflex.android.verticalviewpager.VerticalViewPager verticalViewPager = (fr.castorflex.android.verticalviewpager.VerticalViewPager) findViewById(R.id.verticalviewpager);


    adapter = new MyCustomAdapter(VerticalViewPager.this, SplashScreen.newsidArray, SplashScreen.newsdescArray, SplashScreen.newstitleArray,
            SplashScreen.newsimageArray, SplashScreen.newsdateArray, SplashScreen.newsauthorArray, SplashScreen.newsurlArray);
    verticalViewPager.setOffscreenPageLimit(1);
    verticalViewPager.setAdapter(adapter);

    verticalViewPager.setPageTransformer(false, new PageTransformer() {


        @Override
        public void transformPage(View view, float position) {
            int pageWidth = view.getWidth();
            int pageHeight = view.getHeight();

            if (position <= -1.0F) {
                view.setAlpha(1);
                Log.e("1", "test1");
            } else if (position < 0F) {
                view.setAlpha(1);
                Log.e("2", "test2");
            } else if (position >= 0F) {
                view.setAlpha(0.9F - position);
                view.setTranslationY((int) ((float) (pageHeight) * -position));
                Log.e("3", "test3" + position);
            } else if (position > 1.0F) {
                view.setAlpha(1);
                // view.setTranslationX(position < 0 ? 0f : -pageHeight * position);

                Log.e("4", "test4");
            }


        }
    });


}


}

【问题讨论】:

  • alpha 从 0 变为 1 -- 所以将所有 (view.setAlpha(0);) 设置为 (view.setAlpha(1);) -- 试试看是否有帮助
  • 你试过这个android:overScrollMode="never"
  • 如果我更改为 (view.setAlpha(1);) 也会出现相同的褪色动画
  • @Rah ya 我试过它不适合我
  • 你有没有得到任何答案@developer

标签: android android-viewpager scrollview vertical-scrolling vertical-scroll


【解决方案1】:

请试试这个。 而且您必须确认不要在任何地方使用setAlpha() 进行页面布局。(例如布局xml)

verticalViewPager.setPageTransformer(false, new ViewPager.PageTransformer() {

        @Override
        public void transformPage(View view, float position) {
            int pageWidth = view.getWidth();
            int pageHeight = view.getHeight();

            if (position >= 0) {
                view.setTranslationY(position < 0 ? 0f : -pageHeight * position);
            }
        }
    });

【讨论】:

  • 我需要像重叠布局一样的堆叠转换效果
【解决方案2】:

我得到了答案,您需要为正在制作动画的视图设置背景。默认是透明的

android:background="#FFFFFF"

【讨论】:

    猜你喜欢
    • 2017-10-29
    • 2016-05-20
    • 1970-01-01
    • 1970-01-01
    • 2016-07-23
    • 2013-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多