簡體   English   中英

拖動SlidingDrawer時調用活動

[英]Invoking activity when SlidingDrawer is dragged

我需要制作一個包含GridViewSlidingDraweractivity的應用程序。

我已經做到了,但是現在我的問題是,每當拖動SlidingDrawer時,我就需要在屏幕的一半上帶一個活動,另一半是我以前的activity而當我向后拖動SlidingDrawer ,應該關閉該Activity

是否可以在沒有任何沖突的情況下處理屏幕中的兩個活動,並且如果可能,我應該如何設計這些活動?

您不能將Activity放在SlidingDrawer 您可以將View放在SlidingDrawer

  1. 您的SlidingDrawer的所有者Activity應該擴展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) 這樣用戶就永遠不會作為獨立的Activity進入YourTargetActivity。

暫無
暫無

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

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