添加toolbar
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar1"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@color/colorPrimaryDark"
app:title="StyleTransfer"
app:popupTheme="@style/OverflowMenuStyle"
app:titleTextColor="@android:color/white" />
设置menu菜单布局。右键res->New->Android Resource File,
布局设置,添加<item>即可,
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent">
<item
android:id="@+id/introduction"
android:title="Introduction"
/>
<item
android:id="@+id/about"
android:title="About"
/>
</menu>
MainActivity中的设置
// ********************************* menu ******************************* //
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.test, menu);
return true;
}
// 点击事件
@Override
public boolean onOptionsItemSelected(@NonNull MenuItem item) {
// item.getItemId即为menu的xml文件里Item的id
switch (item.getItemId()){
case R.id.introduction:
Toast.makeText(this, "introduction", Toast.LENGTH_SHORT).show();
break;
case R.id.about:
Toast.makeText(this, "about", Toast.LENGTH_SHORT).show();
break;
default:
}
return true;
}
弹出菜单的样式修改
<!--弹出菜单样式 parent相当于继承,可以不要-->
<style name="OverflowMenuStyle" parent="@style/Widget.AppCompat.PopupMenu.Overflow">
<!-- 是否覆盖锚点,默认为true,即盖住Toolbar -->
<item name="overlapAnchor">false</item>
<item name="android:dropDownWidth">wrap_content</item>
<!--<item name="android:paddingRight">5dp</item>-->
<!--<item name="android:layout_marginTop">5dp</item>-->
<!-- 弹出层背景颜色 -->
<item name="android:popupBackground">#FFFFFF</item>
<!-- 设置弹出菜单文字颜色 -->
<item name="android:textColor">#000000</item>
<!-- 弹出层垂直方向上的偏移,即在竖直方向上距离Toolbar的距离,值为负则会盖住Toolbar -->
<!--<item name="android:dropDownVerticalOffset">5dp</item>-->
<!-- 弹出层水平方向上的偏移,即距离屏幕左边的距离,负值会导致右边出现空隙 -->
<item name="android:dropDownHorizontalOffset">0dp</item>
</style>