我将旧的 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>
我从 list 文件调用:
<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">
关于android - 如何让旧的自定义 ActionBar 出现在新的 SDK 上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43469101/