package com.ldc.abtest;
import android.os.Bundle;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.PopupMenu;
import androidx.appcompat.app.ActionBar;
import androidx.appcompat.app.AppCompatActivity;
public class MainActivity extends AppCompatActivity {
private View vi;
private View view;
private final ShowMsg msg = new ShowMsg();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
vi = new View(this);
view = findViewById(android.R.id.content);
setCustomActionBar();
myActionBar();
Button button = findViewById(R.id.button);
button.setOnClickListener(this::popupMenu);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.popup_menu, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.game) {
popupMenu(vi);
} else if (item.getItemId() == R.id.book) {
popupMenu(view);
} else if (item.getItemId() == R.id.music) {
popupMenu(findViewById(R.id.music));
}
return false;
}
private void popupMenu(View v) {
PopupMenu popupMenu = new PopupMenu(this, v);
popupMenu.getMenuInflater().inflate(R.menu.popup_menu, popupMenu.getMenu());
popupMenu.setOnMenuItemClickListener(item -> {
// 处理菜单项点击事件
if (item.getItemId() == R.id.game) {
msg.SM(view, "打游戏");
} else if (item.getItemId() == R.id.book) {
msg.SM(view, "看书");
} else if (item.getItemId() == R.id.music) {
msg.SM(view, "听音乐");
}
return true;
});
popupMenu.show(); // 显示弹出菜单
}
private void setCustomActionBar() {
ActionBar.LayoutParams lp = new ActionBar.LayoutParams(ActionBar.LayoutParams.MATCH_PARENT,
ActionBar.LayoutParams.MATCH_PARENT, Gravity.CENTER);
View mActionBarView = View.inflate(this, R.layout.actionbar_layout, null);
ActionBar actionBar = getSupportActionBar();
assert actionBar != null;
actionBar.setCustomView(mActionBarView, lp);
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setDisplayShowTitleEnabled(false);
}
private void myActionBar() {
//自定义ActionBar一定要写在onCreate()外面,点击才起作用。
Button bt_my = findViewById(R.id.bt_my);
bt_my.setOnClickListener(v -> {
popupMenu(v);
System.out.println(v);
});
ImageView iv_game = findViewById(R.id.iv_game);
iv_game.setOnClickListener(v -> {
popupMenu(v);
System.out.println(v);
});
}
}
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
AbTest.zip (43个子文件)
AbTest
gradle.properties 1KB
gradle
wrapper
gradle-wrapper.jar 58KB
gradle-wrapper.properties 236B
app
src
androidTest
java
com
ldc
abtest
ExampleInstrumentedTest.java 742B
test
java
com
ldc
abtest
ExampleUnitTest.java 375B
main
java
com
ldc
abtest
ShowMsg.java 2KB
MainActivity.java 3KB
res
mipmap-xxhdpi
ic_launcher_round.webp 6KB
ic_launcher.webp 3KB
mipmap-hdpi
ic_launcher_round.webp 3KB
ic_launcher.webp 1KB
menu
popup_menu.xml 665B
values-night
themes.xml 326B
mipmap-mdpi
ic_launcher_round.webp 2KB
ic_launcher.webp 982B
mipmap-xxxhdpi
ic_launcher_round.webp 8KB
ic_launcher.webp 4KB
mipmap-anydpi
ic_launcher.xml 343B
ic_launcher_round.xml 343B
mipmap-xhdpi
ic_launcher_round.webp 4KB
ic_launcher.webp 2KB
xml
data_extraction_rules.xml 551B
backup_rules.xml 478B
values
colors.xml 791B
strings.xml 282B
themes.xml 1KB
layout
activity_main.xml 812B
actionbar_layout.xml 1KB
drawable
ic_launcher_background.xml 5KB
contacts_24.xml 686B
shadow.xml 2KB
music_24.xml 379B
ic_launcher_foreground.xml 2KB
border_24.xml 668B
AndroidManifest.xml 1002B
proguard-rules.pro 750B
libs
build.gradle 1KB
.gitignore 6B
gradlew.bat 3KB
build.gradle 168B
settings.gradle 324B
gradlew 6KB
.gitignore 225B
共 43 条
- 1
资源评论
白云LDC
- 粉丝: 63
- 资源: 9
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于python深度神经网络的终身学习智能家居系统-大创竞赛
- 基于Http协议的断点续传-Java多线程与线程安全实践编程.zip
- 基于python卷积神经网络的正方教务管理系统验证码识别,准确率0.99以上
- 基于python 的对抗神经网络的步态识别系统
- Proteus软件下载、安装与激活指南
- 编程实战:基于JAVA的公共资源模块的设计与开发(源代码+文档).zip
- 毕设项目:公共资源模块的设计与开发(JAVA+源代码+文档).zip
- "Python数据分析与可视化实战指南:为数据科学家揭示商业洞察与决策支持"
- mmexport1719665768946.jpg
- 基于JQuery实现电梯导航特效+页面滚动一定高度后固定头部导航.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功