Update scene

This commit is contained in:
seven332 committed 2015-03-26 17:26:38 +08:00
1 parent a74fb52c9a
commit b9f0a6c70c
14 files changed
+199 -58

No files matched your search

+5 -2
View File
@@ -182,8 +182,7 @@ public abstract class Scene {
StageActivity sa = getStageActivity();
mSceneView = new FrameLayout(sa);
initBackground(mSceneView);
mSceneView.addView(view, new FrameLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
mSceneView.addView(view, new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
}
private void initBackground(@NonNull View bg) {
@@ -212,6 +211,10 @@ public abstract class Scene {
protected void onOut() {
}
public View onCreateStageBar() {
return null;
}
/**
* Finds a view that was identified by the id attribute from the XML that
* was processed in {@link #onCreate}.
@@ -18,6 +18,7 @@ package com.hippo.scene;
import android.os.Bundle;
import android.support.annotation.NonNull;
import android.support.annotation.Nullable;
import android.view.View;
import com.hippo.util.Log;
@@ -136,6 +137,10 @@ class SceneManager {
scene.setState(Scene.SCENE_STATE_DESTROY);
scene.detachFromeStage();
}
// Switch stage bar
View stageBarContent = scene.onCreateStageBar();
getStageActivity().getStageBar().updateContent(stageBarContent);
}
} else {
Log.e(TAG, "The scene is not in stage");
@@ -24,6 +24,7 @@ import android.view.View;
import com.hippo.ehviewer.ui.AbsActionBarActivity;
import com.hippo.util.IntIdGenerator;
import com.hippo.widget.StageBar;
public abstract class StageActivity extends AbsActionBarActivity {
@@ -39,6 +40,8 @@ public abstract class StageActivity extends AbsActionBarActivity {
public abstract @NonNull StageLayout getStageLayout();
public abstract @NonNull StageBar getStageBar();
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
@@ -60,16 +63,6 @@ public abstract class StageActivity extends AbsActionBarActivity {
}
}
/*
void attachSceneToStageAsPreScene(Scene scene) {
StageLayout stageLayout = getStageLayout();
View sceneView = scene.getSceneView();
if (sceneView != null) {
stageLayout.addView(sceneView, stageLayout.getChildCount() - 1);
}
}
*/
void detachSceneFromStage(Scene scene) {
View sceneView = scene.getSceneView();
if (sceneView != null) {
@@ -163,7 +163,6 @@ public class TransitionCurtain extends Curtain {
mAnimList.add(colorAnim);
// Handle transit part
for (ViewPair pair : mViewPairArray) {
final View enterView = pair.getFromView(enter);
@@ -177,8 +176,6 @@ public class TransitionCurtain extends Curtain {
continue;
}
//int[] startloaction = new int[2];
//ViewUtils.getLocationInAncestor(exitView, startloaction, exit.getSceneView());
int[] endloaction = new int[2];
ViewUtils.getLocationInAncestor(enterView, endloaction, enter.getSceneView());
int startWidth = exitView.getWidth();