Update scene
This commit is contained in:
1 parent
a74fb52c9a
commit
b9f0a6c70c
14 files changed
+199
-58
No files matched your search
@@ -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();
|
||||
|
||||
Reference in new issue
Block a user