簡體   English   中英

Android:如何在ViewPager中設置文本動畫

[英]Android: How to set text animation in ViewPager

當用戶滑動到下一個屏幕時,我想開始淡入淡出動畫,但是我無法使其正常工作。 問題是動畫同時在第一和第二屏幕上,在第三和第四屏幕上等開始。

這是我的PageFragment;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

    Animation in;
    Animation out;

    in = new AlphaAnimation(0.0f, 1.0f);
    in.setDuration(2000);

    out = new AlphaAnimation(1.0f, 0.0f);
    out.setDuration(2000);

    // Inflate the layout for this fragment
    View view = inflater.inflate(R.layout.page_fragment_layout,container,false);
    textView = (TextView)view.findViewById(R.id.textView);
    Bundle bundle = getArguments();
    String message = bundle.getString("count");
    textView.setText(message);
    textView.setAnimation(in);
    return view;
}}

刷卡適配器

public class SwipeAdapter extends FragmentStatePagerAdapter{
public SwipeAdapter(FragmentManager fm) {
    super(fm);
}

@Override
public Fragment getItem(int i) {
    String[] historia = {"1", "2", "3", "4", "5"};
    Fragment fragment = new PageFragment();
    Bundle bundle = new Bundle();
    bundle.putString("count", historia[i]);
    fragment.setArguments(bundle);
    return fragment;
}

@Override
public int getCount() {
    return 5;
}}

主要活動

public class MainActivity extends FragmentActivity {
ViewPager viewPager;

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


    viewPager = (ViewPager) findViewById(R.id.view_pager);
    SwipeAdapter swipeAdapter = new SwipeAdapter(getSupportFragmentManager());
    viewPager.setAdapter(swipeAdapter);

}}

感謝您提供任何有用的答案! :)

向您的swipeAdapter注冊ViewPager.OnPageChangeListener (與swipeAdapter.addOnPageChangeListener() )。 然后,您可以將動畫內容移動到public void onPageSelected(int position) 不要忘記在onResume/onPause調用添加/刪除監聽器。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM