我正在尝试在我的应用程序中使用操作栏,但是getSupportActionBar会崩溃我的应用程序。
这是有效的,但我不知道我做了什么让它崩溃(我删除了所有内容并再次尝试,它一直在崩溃)。
import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.LinearLayout;
public class MainMenu extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
ActionBar actionbar = getSupportActionBar();
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
getWindow().requestFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main_menu);
LinearLayout v = (LinearLayout) findViewById(R.id.layout);
v.setBackgroundColor(0xffECECEC);
}
/*
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.actionbar, menu);
return true;
}
*/
public void play(View view){
Intent intent = new Intent(MainMenu.this, Levels.class);
startActivity(intent);
}
}
答案 0 :(得分:1)
如果您只想要操作栏,则可以调整以下代码。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_menu);
ActionBar actionbar = getSupportActionBar();
LinearLayout v = (LinearLayout) findViewById(R.id.layout);
v.setBackgroundColor(0xffECECEC);
}
我们不应该在setContentView()方法之前编写动作栏代码。
如果您想要全屏,那么您的活动中就不会使用actionBar。
答案 1 :(得分:-1)
当我直接使用getSupportActionBar()方法时,我的应用程序崩溃而不是我正在使用 ActionBar actionbar = getSupportActionBar(); 那么你可以在动作栏上执行和执行任何操作,如actionbar.show(),actionbar.hide()和其他操作。