java - androidx BottomNavigationView 未显示
问题描述
我根本无法让底部导航显示在 androidx 中。我什至从其他应该有效的答案中复制了示例,并且它们显示在预览中。活动.xlm:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout
android:id="@+id/frameLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@id/frameLayout"
app:layout_constraintBottom_toTopOf="@+id/bottomNavigationView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/bottomNavigationView"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_alignParentBottom="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:menu="@menu/navigation" />
</androidx.constraintlayout.widget.ConstraintLayout>
导航.xml
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/homeButton"
android:enabled="true"
android:icon="@android:drawable/ic_menu_agenda"
android:title="a funny item"/>
<item
android:id="@+id/favoritesButton"
android:enabled="true"
android:icon="@android:drawable/ic_menu_info_details"
android:title="favorites"/>
<item
android:id="@+id/ideaButton"
android:enabled="true"
android:icon="@android:drawable/ic_menu_agenda"
android:title="ideas"/>
</menu>
样式.xml:
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.MaterialComponents.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
活动代码:
public class MainActivity extends AppCompatActivity {
public static final String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";
private AppBarConfiguration appBarConfiguration;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
我错过了什么?另外为什么它会出现在android studio的预览中而不显示应用程序何时运行?任何帮助是极大的赞赏
解决方案
你忘了添加setContentView(R.layout.activity_main);
你的MainActivity
public class MainActivity extends AppCompatActivity {
public static final String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";
private AppBarConfiguration appBarConfiguration;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
推荐阅读
- r - 如何在 sas 中实现 r 中的子集?
- gradle - 如何从 processResources Gradle 任务中排除多个文件
- java - doc文件需要在文件名附近显示doc徽标,例如whatsapp
- python - 匹配 Pandas 数据框中的一对多列
- angular - 如何订阅rxjs中另一个对象中引用的对象的属性更改
- javascript - 我的 Ajax 请求只发送一次
- visual-studio-code - 如何使用默认应用程序在 Visual Studio Code 中打开二进制文件(例如 Excel)
- cryptography - RSA | 在给定公钥的情况下计算已更改的 totient 公式的私钥
- javascript - 仅在选择文件后显示加载器,并在单击取消或交叉按钮时隐藏
- apache-spark - AnalysisException:不允许添加数据库前缀