我的代码:
在java文件中
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menu_main , menu);
return true;
}
在菜单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="com.example.patryk.menu_test.MainActivity">
<item
android:id="@+id/group_item1"
android:title="settings"
android:icon="@drawable/ic_shop_white_24dp"
app:showAsAction="always"
/>
<item
android:id="@+id/group_item2"
android:title="about"
android:icon="@drawable/ic_shop_white_24dp"
app:showAsAction="always"
/>
</menu>
onCreate
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
}
我的问题:我在actionBar上看不到任何图标。
PS。我正在使用android studio。
谢谢。答案 0 :(得分:1)
您需要指定每个菜单项将使用的图标。这可以通过以下方式完成:
android:icon="@drawable/my_icon"
答案 1 :(得分:0)
您必须添加drawable
<item
android:id="@+id/group_item1"
android:icon="@drawable/ic_drawable_settings"
android:title="Settings"
app:showAsAction="ifRoom|Always" />
这里ic_drawable_settings
是一个可绘制的。您还需要遵循两个override
方法
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_main, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (item.getItemId() == android.R.id.home) {
onBackPressed();
return true;
} else if (id == R.id.YOUR_MENU_ID) {
//.....your code here
return true;
}
return super.onOptionsItemSelected(item);
}