Android 工具栏项目未显示?
Android Toolbar Items not showing?
我正在尝试使用 android.support.v7.widget.toolbar 创建一个工具栏,但是当我尝试添加一个项目时,它不会显示在工具栏上:
activity_main.xml 中的工具栏:
<android.support.v7.widget.Toolbar
android:id="@+id/my_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
main_activity:
在 onCreate 上:
Toolbar my_tbar = (Toolbar) findViewById(R.id.my_toolbar);
setSupportActionBar(my_tbar);
离开 onCreate:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.refresh:
return true;
default:
return super.onOptionsItemSelected(item);
}
}
res/menu/main_menu.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:title="RefreshButton"
android:id="@+id/refresh"
android:icon="@drawable/refresh_icon"
app:showAsAction="always"
/>
</menu>
refresh_icon
是我创建的,因为在 @drawable/
我没有找到 ic_menu_refresh
为什么按钮没有显示?
谢谢
它没有显示,因为你没有破坏菜单布局。在调用 onOptionsItemSelected()
之前,您需要像这样扩充布局
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_menu, menu);
return true;
}
只需将此方法添加到您的 activity 中,它就会正常工作。
我正在尝试使用 android.support.v7.widget.toolbar 创建一个工具栏,但是当我尝试添加一个项目时,它不会显示在工具栏上:
activity_main.xml 中的工具栏:
<android.support.v7.widget.Toolbar
android:id="@+id/my_toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
android:theme="@style/ThemeOverlay.AppCompat.ActionBar"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
main_activity: 在 onCreate 上:
Toolbar my_tbar = (Toolbar) findViewById(R.id.my_toolbar);
setSupportActionBar(my_tbar);
离开 onCreate:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.refresh:
return true;
default:
return super.onOptionsItemSelected(item);
}
}
res/menu/main_menu.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:title="RefreshButton"
android:id="@+id/refresh"
android:icon="@drawable/refresh_icon"
app:showAsAction="always"
/>
</menu>
refresh_icon
是我创建的,因为在 @drawable/
我没有找到 ic_menu_refresh
为什么按钮没有显示?
谢谢
它没有显示,因为你没有破坏菜单布局。在调用 onOptionsItemSelected()
之前,您需要像这样扩充布局
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main_menu, menu);
return true;
}
只需将此方法添加到您的 activity 中,它就会正常工作。