我将旧的Android(4.4 Kitkat)项目从Eclipse迁移到了Android Studio。
当我运行该应用程序时,我再也没有ActionBar了!
这是我的主要Activity类文件:
public class Main extends Activity {
...
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
...
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.options, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
Intent intent;
switch (item.getItemId()) {
case R.id.Open:
intent = new Intent(this, Open.class);
startActivity(intent);
return true;
case R.id.Email;
intent = new Intent(this, Email.class);
startActivity(intent);
return true;
case R.id.Compartir:
intent = new Intent(this, Compartir.class);
startActivity(intent);
return true;
case R.id.About:
intent = new Intent(this, About.class);
startActivity(intent);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
这是我的
styles.xml
文件:<resources>
<style name="AppBaseTheme" parent="Theme.AppCompat.Light"></style>
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverflow</item>
</style>
<style name="MyActionButtonOverflow" parent="android:style/Widget.Holo.Light.ActionButton.Overflow">
<item name="android:src">@drawable/ic_action_expand</item>
<item name="android:background">?android:attr/actionBarItemBackground</item>
<item name="android:contentDescription">"Lala"</item>
</style>
</resources>
我从清单文件中调用的:
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
在项目中,我有
options.xml
,如您所见,它创建了操作栏的内容:1个按钮+选项按钮,这是一个包含3个按钮的下拉菜单。<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/Open"
android:title="@string/option_open"
android:icon="@drawable/ic_action_open"
android:showAsAction="ifRoom" />
<item android:id="@+id/Email"
android:title="@string/option_email"
android:icon="@drawable/ic_action_person"
android:showAsAction="never" />
<item android:id="@+id/Compartir"
android:title="@string/option_compartir"
android:showAsAction="never" />
<item android:id="@+id/About"
android:title="@string/option_about"
android:showAsAction="never" />
</menu>
无论如何,如果我构建该应用程序,则手机上不会显示ActionBar。我使用Eclipse ADT构建应用程序时就拥有了它。我认为区别是我以前使用的SDK旧版本。然后,如何使ActionBar以该自定义主题再次出现?
最佳答案
我认为您必须回到Holo主题:
<style name="AppBaseTheme" parent="android:Theme.Holo.Light">