我需要制作一个activity
由 aGridView
和组成的应用程序SlidingDrawer
。
我已经这样做了,但是现在我的问题是,每当拖动屏幕时,我需要为屏幕的一半带来一个活动,SlidingDrawer
而另一半将是我以前activity
的,当我向后拖动时SlidingDrawer
,Activity
应该关闭。
这是否可以在没有任何冲突的情况下处理屏幕中的两个活动,如果可能,我应该如何设计这些活动?
我需要制作一个activity
由 aGridView
和组成的应用程序SlidingDrawer
。
我已经这样做了,但是现在我的问题是,每当拖动屏幕时,我需要为屏幕的一半带来一个活动,SlidingDrawer
而另一半将是我以前activity
的,当我向后拖动时SlidingDrawer
,Activity
应该关闭。
这是否可以在没有任何冲突的情况下处理屏幕中的两个活动,如果可能,我应该如何设计这些活动?
您不能将Activity
a放入SlidingDrawer
. 您可以将 aView
放入SlidingDrawer
.
Activity
您的所有者SlidingDrawer
应该扩展ActivityGroup
。获取目标活动的视图,将视图添加到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;
}
注意:从不 startActivity(pkg, YourTargetActivity)
!这样用户就永远不会将 YourTargetActivity 作为独立的Activity
.