我将我的旧Android(4.4 Kitkat)项目从Eclipse迁移到Android Studio。 当我运行应用程序时,我再也没有ActionBar了!如何使旧的自定义ActionBar出现在新的SDK上?
这是我的主要活动类文件:
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
,正如你所看到的,它创建了Action Bar的内容: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再次出现这个自定义主题?
你能展示它以前? – azizbekian
我在问题中附加了一张图片。你能看见它吗? – smartmouse