技术标签: android 使用 menu
添加状态变量,判断弹出框的状态,并初始化:
private boolean popupFirst = true;
// 按下menu键,就弹出
if (keyCode == KeyEvent.KEYCODE_MENU) {
if (popupFirst) {
initPopWindow();
}
}
return true;
popView.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if ((keyCode == KeyEvent.KEYCODE_MENU) && (popWind.isShowing())) {
if (!popupFirst) {
popWind.dismiss();
popupFirst = true;
} else {
popupFirst = false;
}
} else if ((keyCode == KeyEvent.KEYCODE_MENU)
&& !(popWind.isShowing())) {
// 显示弹出框
popWind.showAtLocation(popView,
Gravity.RIGHT | Gravity.TOP, 20, 20);
}
return false;
}
});
在onkeyListener()对menu注册监听,根据状态变量判断当前弹出框的状态,并作出弹出或者注销的动作。
对消失的状态添加监听:
popWind.setOnDismissListener(new OnDismissListener() {
@Override
public void onDismiss() {
// TODO Auto-generated method stub
popupFirst = true;
}
});
这样,在消失的时候,重置状态变量,下次点击的时候才能准确的弹出来。因为窗体的消失,有可能是按其他控件或者menu键消失掉的,显然按控件消失的话,状态变量是不会改变的。
整个活动:
public class TestPop extends Activity {
private boolean popupFirst = true;
private PopupWindow popWind;
private View popView;
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.acypop);
button = (Button) findViewById(R.id.button);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
initPopWindow();
}
});
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if (keyCode == KeyEvent.KEYCODE_MENU) {
if (popupFirst) {
initPopWindow();
}
}
return true;
}
public void initPopWindow() {
popView = LayoutInflater.from(this).inflate(R.layout.line, null);
popView.setFocusable(true);
popView.setFocusableInTouchMode(true);
popView.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
if ((keyCode == KeyEvent.KEYCODE_MENU) && (popWind.isShowing())) {
if (!popupFirst) {
popWind.dismiss();
popupFirst = true;
} else {
popupFirst = false;
}
} else if ((keyCode == KeyEvent.KEYCODE_MENU)
&& !(popWind.isShowing())) {
// 显示弹出框
popWind.showAtLocation(popView,
Gravity.RIGHT | Gravity.TOP, 20, 20);
}
return false;
}
});
popWind = new PopupWindow(popView, LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);
popWind.setOnDismissListener(new OnDismissListener() {
@Override
public void onDismiss() {
// TODO Auto-generated method stub
popupFirst = true;
}
});
// 使其聚集,可以点击里面的组件
popWind.setFocusable(true);
// 设置允许在外点击消失
popWind.setOutsideTouchable(true);
// 点击back也能消失
popWind.setBackgroundDrawable(new BitmapDrawable());
popWind.showAtLocation(popView, Gravity.RIGHT | Gravity.TOP, 20, 20);
}
}
注意:
1.外层的view获取焦点才能使onkeyListenner()监听起效。
popView.setFocusable(true);
popView.setFocusableInTouchMode(true);
前期代码:<navigator hover-class="none" url=''> <view>内容</view> <view bindtap='telChange'>拨打电话</view></navigator>telChange: function (e) { wx.makeP...
大家好,今天和各位分享一下如何使用循环神经网络 LSTM 和 GRU 完成对股票数据的预测。GRU 是在 LSTM 基础上的简化,将 LSTM 内部的三个闸门简化成两个,往往 GRU 的计算效果会优于 LSTM1. 导入工具包如果没有电脑没有GPU的话就把下面那段调用GPU加速计算的代码删了import tensorflow as tffrom tensorflow import kerasfrom tensorflow.keras import layersimport matplot
说明4位数码管,带小数点,最大显示整数位9999;最多显示3位小数,例:0.123。#define HAL_DIGITAL_TUBE_MUTIPLE (1000) //可以改为10的整数倍倍数, 放大倍数, 要显示1.234,请输入1234#define HAL_DIGITAL_TUBE_DISPLAY_HZ (5) //自动刷新频率,可以关闭代码#ifdef PRINT_HEADER#undef PRINT_HEADER#endif#define PRINT_HEADER "D
http://blog.sina.com.cn/s/blog_597fcb450100c3um.html 【转】R与SAS、SPSS的比较 (2009-03-05 20:29:40)转载标签: 教育分类: 学习R与SAS、SPSS的比较R语言R是用于统计分析、绘图的语言和操作环境。R是属于GNU系统的一个自由、免费、源代码开放的软件,它是一个用于统计计算和统计制图的优秀工具。 R 是统计领域广泛...
本文来自:http://www.vckbase.com/document/viewdoc/?id=1359本文使用下列技术:ASP.NET,.NET 框架,IIS 用 ASP.NET 编写 Web 应用程序其轻松程度令人难以置信。它是如此的容易,以至于许多开发人员不用花费多少时间来构筑其应用便能获得非常好的性能。在本文中,我将给出10个编写高性能 Web 应用的技巧。我的评论不仅仅...
https://blog.csdn.net/will5451/article/details/524726951、首先在app目录下创建一个新的文件夹,命名libs(可自定义)2、(可选)考虑到后面可能会引用很多库,so,在libs下再创建一个phpQuery文件夹3、找到根目录下的composer.json文件4、找到composer.json中定义的(看我备注)...
整了三天 终于可以相互加密解密了,今天我给大家讲讲我遇到的大坑。这篇文章只是做一个整理,帮大家理清一下步骤的而已在ios端做证书 来实现我们和java的交流 需要4个文件。一、首先,打开Terminal, 生成必要的公钥、私钥、证书:openssl genrsa -out private_key.pem 1024openssl req -new -key private_key.pem -out ...
在centos7中,/etc/rc.d/rc.local文件的权限被降低了,没有执行权限,需要给它添加可执行权限。chmod +x /etc/rc.d/rc.local然后就可以在里面添加你要开机自启的命令了vi /etc/rc.d/rc.local承接上篇文单的配置文件 www.conf,www1.conf,www2.conf添加php-fpm执行命令如下:/usr/sbin...
学习笔记,仅供参考,有错必纠文章目录Correlation Adaptive Subspace Segmentation by Trace Lasso摘要介绍相关工作贡献Trace Lasso相关自适应子空间分割有噪声数据的CASS有噪声数据的CASS分组效应最优化伪代码Correlation Adaptive Subspace Segmentation by Trace Lasso摘要研究了子空间分割问题。给定从子空间的并集提取的一组数据点,目标是将它们划分到它们所提取的底层子空间中。以光
swing常见的组件窗体(JFrame)面板(Jpanel) 按钮(JButton) 文本框(JTextFiled)密码框(JPasswordField)标签(JLable) 复选框(JCheckBox)单选框(JRadioButton) 下拉框(JComboBox) 列表(JList)滚动窗格(JScrollpane) ...
一、实时查看文件内容Linux 中有一个tail命令,常用来显示一个文件的最后n行文档内容但更多情况下,我们要在服务器端运行程序,并且需要实时监控运行日志,这时候有什么办法实时滚动显示log文件内容?这里可以利用tail命令加参数f实现:tail用于显示指定文件末尾内容,不指定文件时,作为输入信息进行处理。常用查看日志文件。tail -f xxx.log (会把文件里最尾部的内容显示在屏...
树莓派安装docker参考: 方法1:官方文档(脚本直接安装) 方法2:官方版本中译(嫌上一个麻烦的可以直接看这个) 方法3:非脚本安装方法 方法4:2&3自己树莓派操作系统命令:lsb_release -a结果:No LSB modules are available.Distributor ID: RaspbianDescription: Raspbian GNU/Linux 10 (buster)Release: 10Codename: buste