我需要使用activity
创建应用程序,其中包含GridView
和SlidingDrawer
。拖动SlidingDrawer时调用活动
我已经做到了,但现在我的问题是,我需要把一个活动画面的一半每当SlidingDrawer
拖动,而另一半将是我以前的activity
,当我拖回来SlidingDrawer
那么Activity
应该关闭。
这是可能的处理这两个屏幕上的活动没有任何冲突,如果可能我应该如何设计这些活动?
我需要使用activity
创建应用程序,其中包含GridView
和SlidingDrawer
。拖动SlidingDrawer时调用活动
我已经做到了,但现在我的问题是,我需要把一个活动画面的一半每当SlidingDrawer
拖动,而另一半将是我以前的activity
,当我拖回来SlidingDrawer
那么Activity
应该关闭。
这是可能的处理这两个屏幕上的活动没有任何冲突,如果可能我应该如何设计这些活动?
您不能在SlidingDrawer
中输入Activity
。您可以在SlidingDrawer
中输入View
。
SlidingDrawer
的所有者Activity
应扩展为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;
}
注:NEVERstartActivity(pkg, YourTargetActivity)
!这样用户永远不会以独立的Activity
的身份前往YourTargetActivity。
人无我有,每当我拖动'drawer'来调用'activity' ..双方应在同一时间内可见.. – Hussain 2011-04-01 06:09:23
@Hussain:我再说一遍,你不能把一个'Activity'在' SlidingDrawer'。 – CommonsWare 2011-04-01 10:54:37
我不想把'Activity'放在'SlidingDrawer'里面..当拖动'SlidingDrawer'时我需要调用一个半页'activity'。 – Hussain 2011-04-01 11:11:56