feat:add LayoutDemo
This commit is contained in:
@@ -53,7 +53,7 @@ public class DemoActivity extends AppCompatActivity {
|
||||
FrameLayout frameLayout = new FrameLayout(this);
|
||||
addContentView(frameLayout, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
|
||||
ViewGroup.LayoutParams.MATCH_PARENT));
|
||||
doricContext = DoricContext.create(this, DoricUtils.readAssetFile("demo/" + source), "test");
|
||||
doricContext = DoricContext.create(this, DoricUtils.readAssetFile("demo/" + source), source);
|
||||
doricContext.init(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
|
||||
doricContext.getRootNode().setRootView(frameLayout);
|
||||
}
|
||||
|
@@ -28,15 +28,24 @@ import androidx.appcompat.app.AppCompatActivity;
|
||||
import androidx.recyclerview.widget.LinearLayoutManager;
|
||||
import androidx.recyclerview.widget.RecyclerView;
|
||||
|
||||
import org.greenrobot.eventbus.EventBus;
|
||||
import org.greenrobot.eventbus.Subscribe;
|
||||
import org.greenrobot.eventbus.ThreadMode;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.function.Predicate;
|
||||
|
||||
import pub.doric.DoricDriver;
|
||||
import pub.doric.dev.DevPanel;
|
||||
import pub.doric.dev.event.EnterDebugEvent;
|
||||
import pub.doric.dev.event.QuitDebugEvent;
|
||||
import pub.doric.engine.ChangeEngineCallback;
|
||||
import pub.doric.utils.DoricUtils;
|
||||
|
||||
public class MainActivity extends AppCompatActivity {
|
||||
|
||||
private DevPanel devPanel = new DevPanel();
|
||||
|
||||
@Override
|
||||
protected void onCreate(Bundle savedInstanceState) {
|
||||
@@ -48,6 +57,7 @@ public class MainActivity extends AppCompatActivity {
|
||||
try {
|
||||
String[] demos = getAssets().list("demo");
|
||||
List<String> ret = new ArrayList<>();
|
||||
ret.add("Debug Kit");
|
||||
for (String str : demos) {
|
||||
if (str.endsWith("js")) {
|
||||
ret.add(str);
|
||||
@@ -59,7 +69,38 @@ public class MainActivity extends AppCompatActivity {
|
||||
}
|
||||
}
|
||||
|
||||
public static class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
||||
@Override
|
||||
public void onAttachedToWindow() {
|
||||
super.onAttachedToWindow();
|
||||
|
||||
EventBus.getDefault().register(this);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void onDestroy() {
|
||||
super.onDestroy();
|
||||
EventBus.getDefault().unregister(this);
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onEnterDebugEvent(EnterDebugEvent enterDebugEvent) {
|
||||
DoricDriver.getInstance().changeJSEngine(false, new ChangeEngineCallback() {
|
||||
@Override
|
||||
public void changed() {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Subscribe(threadMode = ThreadMode.MAIN)
|
||||
public void onQuitDebugEvent(QuitDebugEvent quitDebugEvent) {
|
||||
DoricDriver.getInstance().changeJSEngine(true, new ChangeEngineCallback() {
|
||||
@Override
|
||||
public void changed() {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public class MyAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
|
||||
|
||||
private final String[] data;
|
||||
|
||||
@@ -91,6 +132,10 @@ public class MainActivity extends AppCompatActivity {
|
||||
tv.setOnClickListener(new View.OnClickListener() {
|
||||
@Override
|
||||
public void onClick(View v) {
|
||||
if (position == 0) {
|
||||
devPanel.show(getSupportFragmentManager(), "DevPanel");
|
||||
return;
|
||||
}
|
||||
Intent intent = new Intent(tv.getContext(), DemoActivity.class);
|
||||
intent.putExtra("source", data[position]);
|
||||
tv.getContext().startActivity(intent);
|
||||
|
Reference in New Issue
Block a user