Summary: ActionBarActivity has been deprecated for 2+ years now. Closes https://github.com/facebook/yoga/pull/539 Differential Revision: D4985970 Pulled By: emilsjolander fbshipit-source-id: 2e2fcc5188c08ef1cd78f7e1be71917f0395ff2c
114 lines
3.4 KiB
Java
114 lines
3.4 KiB
Java
// Copyright 2004-present Facebook. All Rights Reserved.
|
|
|
|
package com.facebook.samples.yoga;
|
|
|
|
import android.content.Intent;
|
|
import android.os.Bundle;
|
|
import android.support.v7.app.AppCompatActivity;
|
|
import android.support.v4.app.FragmentPagerAdapter;
|
|
import android.support.v4.app.FragmentManager;
|
|
import android.support.v4.app.Fragment;
|
|
import android.support.v4.app.FragmentTransaction;
|
|
import android.support.v4.view.ViewPager;
|
|
import android.view.LayoutInflater;
|
|
import android.view.MenuInflater;
|
|
import android.view.MenuItem;
|
|
import android.view.Menu;
|
|
import android.support.v7.app.ActionBar;
|
|
|
|
import com.facebook.samples.yoga.R;
|
|
import com.facebook.yoga.android.YogaViewLayoutFactory;
|
|
|
|
public class BenchmarkActivity extends AppCompatActivity {
|
|
|
|
@Override
|
|
public void onCreate(Bundle savedInstanceState) {
|
|
LayoutInflater.from(this).setFactory(YogaViewLayoutFactory.getInstance());
|
|
super.onCreate(savedInstanceState);
|
|
|
|
setContentView(R.layout.benchmark_select_layout);
|
|
|
|
ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager);
|
|
viewPager.setAdapter(new PagerAdapter(getSupportFragmentManager()));
|
|
|
|
final ActionBar actionBar = getSupportActionBar();
|
|
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
|
|
|
|
ActionBar.TabListener tabListener = new ActionBar.TabListener() {
|
|
public void onTabSelected(ActionBar.Tab tab, FragmentTransaction ft) {
|
|
ViewPager viewPager = (ViewPager) findViewById(R.id.viewpager);
|
|
viewPager.setCurrentItem(tab.getPosition());
|
|
}
|
|
|
|
public void onTabUnselected(ActionBar.Tab tab, FragmentTransaction ft) {
|
|
}
|
|
|
|
public void onTabReselected(ActionBar.Tab tab, FragmentTransaction ft) {
|
|
}
|
|
};
|
|
actionBar.addTab(
|
|
actionBar.newTab()
|
|
.setText("Inflate")
|
|
.setTabListener(tabListener));
|
|
actionBar.addTab(
|
|
actionBar.newTab()
|
|
.setText("Measure")
|
|
.setTabListener(tabListener));
|
|
actionBar.addTab(
|
|
actionBar.newTab()
|
|
.setText("Layout")
|
|
.setTabListener(tabListener));
|
|
|
|
viewPager.setOnPageChangeListener(
|
|
new ViewPager.SimpleOnPageChangeListener() {
|
|
@Override
|
|
public void onPageSelected(int position) {
|
|
// When swiping between pages, select the
|
|
// corresponding tab.
|
|
actionBar.setSelectedNavigationItem(position);
|
|
}
|
|
});
|
|
|
|
viewPager.setOffscreenPageLimit(3);
|
|
}
|
|
|
|
@Override
|
|
public boolean onCreateOptionsMenu(Menu menu) {
|
|
MenuInflater inflater = getMenuInflater();
|
|
inflater.inflate(R.menu.action_bar_benchmark, menu);
|
|
return true;
|
|
}
|
|
|
|
@Override
|
|
public boolean onOptionsItemSelected(MenuItem item) {
|
|
// There is only one option
|
|
Intent intent = new Intent(this, MainActivity.class);
|
|
startActivity(intent);
|
|
this.finish();
|
|
return true;
|
|
}
|
|
|
|
public static class PagerAdapter extends FragmentPagerAdapter {
|
|
public PagerAdapter(FragmentManager fm) {
|
|
super(fm);
|
|
}
|
|
|
|
@Override
|
|
public Fragment getItem(int i) {
|
|
switch (i) {
|
|
case 0:
|
|
return new BenchmarkInflate();
|
|
case 1:
|
|
return new BenchmarkMeasure();
|
|
default:
|
|
return new BenchmarkLayout();
|
|
}
|
|
}
|
|
|
|
@Override
|
|
public int getCount() {
|
|
return 3;
|
|
}
|
|
}
|
|
}
|