带有Activity和CardboardActivity的应用程序

时间:2016-05-29 15:40:03

标签: android google-cardboard virtual-reality

我正在Android中创建一个与Cardboard一起使用的应用程序。 目前,我已经实现了一个扩展MainActivity中的Activity的菜单和一个激活Cardboard相机的代码(从CardboardActivity扩展)。我的问题是当菜单选择了启动此代码的选项时。我如何在活动中抛出CardboardActivity?

抱歉我的英文。 :(

这是代码:

package com.example.dbg.CamaraCV;


 import android.content.Intent;
 import android.os.Bundle;
 import android.support.design.widget.NavigationView;
 import android.support.v4.app.Fragment;
 import android.support.v4.view.GravityCompat;
  import android.support.v4.widget.DrawerLayout;
  import android.support.v7.app.AppCompatActivity;
 import android.support.v7.widget.Toolbar;
 import android.view.Menu;
 import android.view.MenuItem;

import com.google.vrtoolkit.cardboard.CardboardActivity;

public class MainActivity extends AppCompatActivity {

private Toolbar appbar;
private DrawerLayout drawerLayout;
private NavigationView navView;



@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(com.example.dbg.CamaraCV.R.layout.activity_main);

    appbar = (Toolbar)findViewById(com.example.dbg.CamaraCV.R.id.appbar);
    setSupportActionBar(appbar);

    getSupportActionBar().setHomeAsUpIndicator(com.example.dbg.CamaraCV.R.drawable.ic_nav_menu);
    getSupportActionBar().setDisplayHomeAsUpEnabled(true);

    drawerLayout = (DrawerLayout)findViewById(com.example.dbg.CamaraCV.R.id.drawer_layout);

    /*
    //Eventos del Drawer Layout
    drawerLayout.setDrawerListener(new DrawerLayout.DrawerListener() {
        @Override
        public void onDrawerSlide(View drawerView, float slideOffset) {
        }
        @Override
        public void onDrawerOpened(View drawerView) {
        }
        @Override
        public void onDrawerClosed(View drawerView) {
        }
        @Override
        public void onDrawerStateChanged(int newState) {
        }
    });
    */

    navView = (NavigationView)findViewById(com.example.dbg.CamaraCV.R.id.navview);
    navView.setNavigationItemSelectedListener(
            new NavigationView.OnNavigationItemSelectedListener() {
                @Override
                public boolean onNavigationItemSelected(MenuItem menuItem) {

                    boolean fragmentTransaction = false;
                    Fragment fragment = null;
                    CardboardActivity CardboardActivity =null;

                    switch (menuItem.getItemId()) {
                        case com.example.dbg.CamaraCV.R.id.menu_seccion_0:
                            fragment = new Fragment0();
                            fragmentTransaction = true;
                            break;
                        case com.example.dbg.CamaraCV.R.id.menu_seccion_1:
                            startActivity(new Intent(MainActivity.this, CamaraCardBoard.class));
                            break;
                        case com.example.dbg.CamaraCV.R.id.menu_seccion_2:
                            fragment = new Fragment2();
                            fragmentTransaction = true;
                            break;
                        case com.example.dbg.CamaraCV.R.id.menu_seccion_3:
                            fragment = new Fragment3();
                            fragmentTransaction = true;
                            break;
                    }

                   if(fragmentTransaction) {
                        getSupportFragmentManager().beginTransaction()
                                .replace(com.example.dbg.CamaraCV.R.id.content_frame, fragment)
                                .commit();

                        menuItem.setChecked(true);
                        getSupportActionBar().setTitle(menuItem.getTitle());
                    }

                    drawerLayout.closeDrawers();

                    return true;
                }
            });
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(com.example.dbg.CamaraCV.R.menu.menu_navview, menu);
    return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.

    switch(item.getItemId()) {
        case android.R.id.home:
            drawerLayout.openDrawer(GravityCompat.START);
            return true;
    }

    return super.onOptionsItemSelected(item);
}

0 个答案:

没有答案