0

activityと で構成される を使用してアプリケーションを作成する必要がありGridViewますSlidingDrawer

私はそれをしましたが、今私の問題は、SlidingDrawerがドラッグされるたびに画面の半分のアクティビティを表示する必要があり、残りの半分は以前のものにactivityなり、ドラッグして戻すとSlidingDrawerActivity閉じる必要があることです。

画面内の両方のアクティビティを競合なく処理することは可能ですか?可能であれば、これらのアクティビティをどのように設計する必要がありますか?

4

2 に答える 2

1

Activityをに入れることはできませんSlidingDrawerViewにを入れることができますSlidingDrawer

于 2011-03-31T13:21:03.567 に答える
0
  1. Activityあなたのはずの所有者SlidingDrawerは拡張しActivityGroupます。
  2. 対象のアクティビティのビューを取得し、SlidingDrawerのコンテンツにビューを追加します。以下のようなコード:

    private void initSlidingDrawerContent() {
        mTestContent.removeAllViews();
        //View view = LayoutInflater.from(this).inflate(R.layout.act_test, null);
        View view = activityToView(this, new Intent(MainActivity.this, TestActivity.class));
        mTestContent.addView(view); 
    }
    
    private View activityToView(ActivityGroup parent, Intent intent) {
        LocalActivityManager mLocalActivityManager = parent.getLocalActivityManager();
        final Window w = mLocalActivityManager.startActivity("TagName", intent);
        final View wd = w != null ? w.getDecorView() : null;
        if (wd != null) {
            wd.setVisibility(View.VISIBLE);
            wd.setFocusableInTouchMode(true);
            ((ViewGroup) wd)
                    .setDescendantFocusability(ViewGroup.FOCUS_AFTER_DESCENDANTS);
        }
        return wd;
    }
    
  3. 注:決して startActivity(pkg, YourTargetActivity)!ユーザーがスタンドアロンとして YourTargetActivity にアクセスしないようにしますActivity

于 2012-03-31T03:41:13.870 に答える