在阅读了大部分官方 android 文档后,我在不使用Toolbar 对象的情况下设置 Appbar 时遇到了麻烦。有趣的是,这个关于 Menus 的官方页面链接到在 onCreate() 方法中使用 Toolbar 对象。尽管我最近获得了一个工具栏来工作,但我不需要工具栏对象的额外灵活性/自定义,而是选择为我的活动使用各种菜单 xml 文件。问题是:我的选项菜单代码不会产生任何类型的 Appbar ......它只会产生一个空白的白色屏幕,上面有任务栏(电池/时间栏)。
一般说明:我不希望支持旧的 SDK (< 7)。此外,我正在使用的手机(LG Stylo3 7.0)在硬件中没有菜单按钮。我的目标是支持 minSdkVersion 21 和 targetSdkVersion 28。我也没有扩展片段。我写了许多其他活动,但如果没有适当的菜单导航,它们的内容就无法访问。
以下代码/资源是我写的:
应用程序/[包]/MainActivity.java
package [package];
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import androidx.appcompat.app.AppCompatActivity;
import [package].R;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// super.onCreateOptionsMenu(menu);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main_menu, menu);
return true;
注意:我尝试在 onCreateOptionsMenu() 中调用 super 并在 return 语句中调用它。我也尝试过扩展 AppCompatActivity 而不是 Activity,但我不希望支持早期的 SDK 版本。我已经在 onCreateOptionsMenu() 中设置了断点,调试工具似乎并没有停在这里。也许 onCreateOptionsMenu() 不是从 onStart() 调用的?
res/menu/main_menu.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".MainActivity" >
</menu>
注意:我在此布局中创建了一个工具栏对象,在此之前只工作这个问题与工具栏无关。AndroidStudio 确实允许我预览它,它是一个空白屏幕。
注意:我在 res/values/styles.xml 中尝试了各种带/不带 ActionBar 的 android:themes ... 特别是:(Theme.AppCompat.Light.DarkActionBar 和 Theme.AppCompat.NoActionBar)。前一个主题导致空白屏幕,后者导致深灰色。
如果需要我省略的其他文件进行进一步诊断,请告诉我。我的假设是它与我正在使用的约束布局有关。
catspeake
墨色风雨
随时随地看视频慕课网APP
相关分类