第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

Actionbarsherlock +選項(xiàng)卡+多個(gè)片段?

Actionbarsherlock +選項(xiàng)卡+多個(gè)片段?

MMMHUHU 2019-12-21 13:21:30
我非常努力地使actionbarsherlock +選項(xiàng)卡+片段正常工作。我只能將其設(shè)置為靜態(tài),我想創(chuàng)建一個(gè)類似android market app(滑動運(yùn)動)的應(yīng)用。當(dāng)您需要為內(nèi)部包含多個(gè)片段的布局充氣時(shí),我會陷入困境。在Support4demos中,我以FragmentsTabsPager為例。
查看完整描述

3 回答

?
當(dāng)年話下

TA貢獻(xiàn)1890條經(jīng)驗(yàn) 獲得超9個(gè)贊

您需要正確的庫來實(shí)現(xiàn)所需的庫。


基本上,ViewPager圖書館是您所缺少的。我的建議:


1. ActionbarSherlock


使用起來非常簡單,我不會解釋。


2. ViewPagerExtensions


你可以在這里找到它。下載ZIP文件并從中創(chuàng)建一個(gè)新項(xiàng)目。


我只能將此設(shè)置設(shè)為靜態(tài),我想創(chuàng)建一個(gè)類似android market app(Swype Movement)的應(yīng)用。


com.astuetz.viewpager.extensions.SwipeyTabsView從該項(xiàng)目實(shí)施。有易于理解的示例。它確實(shí)滿足您的需求。甚至還有其他選項(xiàng)卡樣式可供選擇(包括ICS附帶的新“人員”選項(xiàng)卡)。此外,對其進(jìn)行樣式設(shè)置以使其與您的應(yīng)用程序身份匹配非常容易。


3。 FragmentPagerAdapter


最后,來自支持庫(v4)的該類。


祝您好運(yùn),如果您需要更多幫助,請隨時(shí)問我。


如果您使用的是我建議的內(nèi)容instantiateItem,F(xiàn)ragmentPagerAdapter則無需覆蓋。你只需要


為構(gòu)造函數(shù)提供a FragmentManager并調(diào)用super實(shí)現(xiàn);

重寫getCount以返回尋呼機(jī)中的片段數(shù),并且

getItem,這將用于返回您的片段以進(jìn)行創(chuàng)建。

這是我在這里的代碼中的一個(gè)示例(完整的工作示例)。這是實(shí)現(xiàn)尋呼機(jī)的活動的內(nèi)部類:


static class MyFragmentPagerAdapter extends FragmentPagerAdapter {


    public MyFragmentPagerAdapter(FragmentManager fm) {

        super(fm);

    }


    @Override

    public int getCount() {

        return 2;

    }


    @Override

    public Fragment getItem(int position) {

        Fragment f;

        switch(position) {

        case 0:

            f= new ItemSalesDataFragment();

            break;

        case 1:

            f= new DepartmentChooserFragment();

            break;

        default:

            throw new IllegalArgumentException("not this many fragments: " + position);

        }

        return f;

    }

}

如您所見,此尋呼機(jī)處理兩個(gè)“頁面”,左側(cè)顯示銷售數(shù)據(jù)。右邊的允許用戶選擇哪個(gè)部門。這些將在getItem方法中返回。適當(dāng)?shù)钠危梢允褂矛F(xiàn)有的任何片段,無需修改)。


如預(yù)期的那樣,您可以通過以下兩種方式將所有這些結(jié)合在一起:1)創(chuàng)建一個(gè)實(shí)例化的對象MyFragmentPagerAdapter,以及2)將適配器設(shè)置為您的ViewPager對象,使其成為您剛剛實(shí)例化的類。如您所見,其getItem方法將“賦予”尋呼機(jī)所需的所有片段。例:


mFragmentPagerAdapter = new MyFragmentPagerAdapter(getSupportFragmentManager());

mViewPager.setAdapter(mFragmentPagerAdapter);

當(dāng)然,還有其他事情要做,例如自己創(chuàng)建選項(xiàng)卡按鈕并將所有這些都結(jié)合在一起進(jìn)行交叉通信。我建議查看從GitHub下載的ViewPagerExtensions ZIP文件中提供的示例。這只是您評論中問題的答案。如您所見,使用該庫的代碼并不多。


查看完整回答
反對 回復(fù) 2019-12-21
?
慕斯709654

TA貢獻(xiàn)1840條經(jīng)驗(yàn) 獲得超5個(gè)贊

實(shí)際上,除了ABS庫和支持庫之外,我實(shí)際上沒有其他任何問題。這是我的代碼:


public class ActionBarTabs extends SherlockFragmentActivity {

CustomViewPager mViewPager;

TabsAdapter mTabsAdapter;

TextView tabCenter;

TextView tabText;

@Override

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,

            WindowManager.LayoutParams.FLAG_FULLSCREEN);


    mViewPager = new CustomViewPager(this);

    mViewPager.setId(R.id.pager);


    setContentView(mViewPager);

    ActionBar bar = getSupportActionBar();

    bar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    bar.setDisplayOptions(0, ActionBar.DISPLAY_SHOW_TITLE);


    mTabsAdapter = new TabsAdapter(this, mViewPager);


    mTabsAdapter.addTab(bar.newTab().setText("Home"),

            ToolKitFragment.class, null);

    mTabsAdapter.addTab(bar.newTab().setText("FujiSan"),

            FujiFragment.class, null);

}


public static class TabsAdapter extends FragmentPagerAdapter implements

        ActionBar.TabListener, ViewPager.OnPageChangeListener {

    private final Context mContext;

    private final ActionBar mActionBar;

    private final ViewPager mViewPager;

    private final ArrayList<TabInfo> mTabs = new ArrayList<TabInfo>();


    static final class TabInfo {

        private final Class<?> clss;

        private final Bundle args;


        TabInfo(Class<?> _class, Bundle _args) {

            clss = _class;

            args = _args;

        }

    }


    public TabsAdapter(SherlockFragmentActivity activity, ViewPager pager) {

        super(activity.getSupportFragmentManager());

        mContext = activity;

        mActionBar = activity.getSupportActionBar();

        mViewPager = pager;

        mViewPager.setAdapter(this);

        mViewPager.setOnPageChangeListener(this);

    }


    public void addTab(ActionBar.Tab tab, Class<?> clss, Bundle args) {

        TabInfo info = new TabInfo(clss, args);

        tab.setTag(info);

        tab.setTabListener(this);

        mTabs.add(info);

        mActionBar.addTab(tab);

        notifyDataSetChanged();

    }


    @Override

    public int getCount() {

        return mTabs.size();

    }


    @Override

    public Fragment getItem(int position) {

        TabInfo info = mTabs.get(position);

        return Fragment.instantiate(mContext, info.clss.getName(),

                info.args);

    }


    @Override

    public void onPageScrolled(int position, float positionOffset,

            int positionOffsetPixels) {

    }


    @Override

    public void onPageSelected(int position) {

        mActionBar.setSelectedNavigationItem(position);

    }


    @Override

    public void onPageScrollStateChanged(int state) {

    }


    @Override

    public void onTabSelected(Tab tab, FragmentTransaction ft) {

        Object tag = tab.getTag();

        for (int i = 0; i < mTabs.size(); i++) {

            if (mTabs.get(i) == tag) {

                mViewPager.setCurrentItem(i);

            }

        }

    }


    @Override

    public void onTabUnselected(Tab tab, FragmentTransaction ft) {

    }


    @Override

    public void onTabReselected(Tab tab, FragmentTransaction ft) {

    }

}

}

您可以根據(jù)以下內(nèi)容加載選項(xiàng)卡內(nèi)容。


mTabsAdapter.addTab(bar.newTab().setText("Home"),

            YOURFRAGMENTHERE.class, null);  

如您所指,這將為您帶來ABS,支持庫和片段的可愛“滑動選項(xiàng)卡”效果。ABS確實(shí)使這幾乎與處理本機(jī)庫相同。實(shí)際上,我直接從Google的分頁選項(xiàng)卡示例中復(fù)制了此代碼,并為ABS進(jìn)行了少許修改。


希望這可以幫助!


查看完整回答
反對 回復(fù) 2019-12-21
  • 3 回答
  • 0 關(guān)注
  • 533 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號