Huli's Blog

Learning by sharing

Lidemy 鋰學院是一個為初學者而生的線上程式課程平台,希望能以淺顯易懂的教學,帶領初學者更快速地入門程式設計。你可以直接到網站註冊,或者是追蹤 Lidemy 的粉絲專頁,就能搶先得知課程的最新消息

[Android] viewpager切換頁面,action bar延遲現象

| Comments

我用Viewpager搭配action bar的tab來做fragment之間的切換
每個Fragment都加上setHasOptionsMenu(true);,讓每個fragment都有自己對應的Action Bar
但是卻有個問題,那就是用ViewPager滑到Framgent上的時候,會延遲個一秒才換成新的Action bar
這點看了實在是很不順眼

解法是把action bar切換的地方寫在Activity裡面

@Override
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
    invalidateOptionsMenu();
}
@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        int position = viewPager.getCurrentItem();
        if(position==0) {
            getMenuInflater().inflate(R.menu.friend, menu);
        }else if(position==1){
            getMenuInflater().inflate(R.menu.chat, menu);
        }else{

        }
        return super.onCreateOptionsMenu(menu);
    }

這樣就可以流暢的切換action bar了

Comments

comments powered by Disqus