* [android] add PerformanceActivity
Project: http://git-wip-us.apache.org/repos/asf/incubator-weex/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-weex/commit/e2d8a7b1 Tree: http://git-wip-us.apache.org/repos/asf/incubator-weex/tree/e2d8a7b1 Diff: http://git-wip-us.apache.org/repos/asf/incubator-weex/diff/e2d8a7b1 Branch: refs/heads/0.16-dev Commit: e2d8a7b1e6a42a7191b23def69b10a572e48280e Parents: afeedd9 Author: misakuo <misa...@apache.org> Authored: Tue Jul 25 16:08:58 2017 +0800 Committer: misakuo <misa...@apache.org> Committed: Tue Jul 25 16:08:58 2017 +0800 ---------------------------------------------------------------------- .../com/alibaba/weex/PerformanceActivity.java | 121 +++++++++++++++++++ 1 file changed, 121 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-weex/blob/e2d8a7b1/android/playground/app/src/main/java/com/alibaba/weex/PerformanceActivity.java ---------------------------------------------------------------------- diff --git a/android/playground/app/src/main/java/com/alibaba/weex/PerformanceActivity.java b/android/playground/app/src/main/java/com/alibaba/weex/PerformanceActivity.java new file mode 100644 index 0000000..ad88546 --- /dev/null +++ b/android/playground/app/src/main/java/com/alibaba/weex/PerformanceActivity.java @@ -0,0 +1,121 @@ +package com.alibaba.weex; + + +import android.content.Context; +import android.content.Intent; +import android.graphics.Color; +import android.os.Bundle; +import android.support.v4.app.Fragment; +import android.support.v4.app.FragmentManager; +import android.view.Gravity; +import android.view.View; +import android.view.ViewGroup; +import android.widget.LinearLayout; +import android.widget.TextView; + +import com.alibaba.weex.performance.EnvironmentFragment; +import com.alibaba.weex.performance.EventOverviewFragment; + +public class PerformanceActivity extends WXBaseActivity { + + private LinearLayout segmentHost; + + public static void start(Context context, int instanceId) { + Intent intent = new Intent(context, PerformanceActivity.class); + intent.putExtra("instanceId", instanceId); + context.startActivity(intent); + } + + @Override + protected void onCreate(Bundle savedInstanceState) { + super.onCreate(savedInstanceState); + setContentView(R.layout.activity_performance); + segmentHost = (LinearLayout) findViewById(R.id.segment_control); + addTab("页é¢æ§è½", true, new View.OnClickListener() { + @Override + public void onClick(View v) { + switchFragment(EventOverviewFragment.getInstance(getIntent().getIntExtra("instanceId", -1))); + } + }); + + addTab("DOMæ ", false, new View.OnClickListener() { + @Override + public void onClick(View v) { + + } + }); + + addTab("JS LOG", false, new View.OnClickListener() { + @Override + public void onClick(View v) { + + } + }); + + addTab("ç¯å¢åé", false, new View.OnClickListener() { + @Override + public void onClick(View v) { + switchFragment(new EnvironmentFragment()); + } + }); + } + + private void switchFragment(Fragment fragment) { + getSupportFragmentManager() + .beginTransaction() + .replace(R.id.fragment_container, fragment) + .commitAllowingStateLoss(); + } + + @Override + protected void onResumeFragments() { + super.onResumeFragments(); + FragmentManager fragmentManager = getSupportFragmentManager(); + + Fragment fragment = fragmentManager.findFragmentById(R.id.fragment_container); + if (fragment == null) { + fragmentManager + .beginTransaction() + .add(R.id.fragment_container, EventOverviewFragment.getInstance(getIntent().getIntExtra("instanceId", -1))) + .commitAllowingStateLoss(); + } + } + + private void addTab(String title, final boolean selected, final View.OnClickListener listener) { + final TextView textView = new TextView(this); + textView.setText(title); + LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); + lp.weight = 1; + lp.setMargins(1, 1, 1, 1); + if (selected) { + textView.setBackgroundColor(Color.TRANSPARENT); + } else { + textView.setBackgroundColor(Color.WHITE); + } + textView.setGravity(Gravity.CENTER); + textView.setLayoutParams(lp); + textView.setOnClickListener(new View.OnClickListener() { + @Override + public void onClick(View v) { + if (!v.isSelected() && v instanceof TextView) { + listener.onClick(v); + for (int i = 0; i < segmentHost.getChildCount(); i++) { + segmentHost.getChildAt(i).setSelected(false); + segmentHost.getChildAt(i).setBackgroundColor(Color.WHITE); + ((TextView) segmentHost.getChildAt(i)).setTextColor(Color.parseColor("#1E90FF")); + } + v.setSelected(true); + v.setBackgroundColor(Color.TRANSPARENT); + ((TextView) v).setTextColor(Color.WHITE); + } + } + }); + textView.setSelected(selected); + if (selected) { + textView.setTextColor(Color.WHITE); + } else { + textView.setTextColor(Color.parseColor("#1E90FF")); + } + segmentHost.addView(textView); + } +}