বাংলায় অ্যান্ড্রয়েড সহায়িকা - Bangla Android Guide

বর্তমান লেআউট অনুসারে প্রতিক্রিয়া করা

বর্তমান লেআউট অনুসারে কিছু একশনের ভিন্ন ফলাফল থাকতে পারে। উদাহরণস্বরূপ, নিউচ রিডার নমুনায়, একটি শিরোনামের তালিকা থেকে একটি শিরোনামে ক্লিক করা ডান হাতের পাশের পেনে আর্টিকেল ওপেন করে যদি ইউআই (UI) ডুয়েল-পেন মোডে থাকে, কিন্তু একটি পৃথক একটিভিটি শুরু হতে পারে যদি ইউআই (UI) সিঙ্গেল-পেন মোডে থাকে:

@Override
public void onHeadlineSelected(int index) {
    mArtIndex = index;
    if (mIsDualPane) {
        /* display article on the right pane */
        mArticleFragment.displayArticle(mCurrentCat.getArticle(index));
    } else {
        /* start a separate activity */
        Intent intent = new Intent(this, ArticleActivity.class);
        intent.putExtra("catIndex", mCatIndex);
        intent.putExtra("artIndex", index);
        startActivity(intent);
    }
}

অনুরূপভাবে, যদি অ্যাপ ডুয়েল-পেন মোডে থাকে, নেভিগেশনের জন্য ট্যাব সহকারে একশন বার সেটআপ করা উচিত, পক্ষান্তরে যদি অ্যপ সিঙ্গেল-পেন মোডে থাকে, একটি স্পিনার উইডজিট (widget) দিয়ে নেভিগেশন সটেআপ করা উচিত। সুতরাং আপনার কোডের চেকও করা উচিত যে কোন কেস উপযুক্ত:

final String CATEGORIES[] = { "Top Stories", "Politics", "Economy", "Technology" };

public void onCreate(Bundle savedInstanceState) {
    ....
    if (mIsDualPane) {
        /* use tabs for navigation */
        actionBar.setNavigationMode(android.app.ActionBar.NAVIGATION_MODE_TABS);
        int i;
        for (i = 0; i < CATEGORIES.length; i++) {
            actionBar.addTab(actionBar.newTab().setText(
                CATEGORIES[i]).setTabListener(handler));
        }
        actionBar.setSelectedNavigationItem(selTab);
    }
    else {
        /* use list navigation (spinner) */
        actionBar.setNavigationMode(android.app.ActionBar.NAVIGATION_MODE_LIST);
        SpinnerAdapter adap = new ArrayAdapter(this,
                R.layout.headline_item, CATEGORIES);
        actionBar.setListNavigationCallbacks(adap, handler);
    }
}