5.17学习内容 android判断软键盘状态、系统键盘监控、生成中间logo的二维码
来源:互联网 发布:mac鼠标能点右键吗 编辑:程序博客网 时间:2024/06/05 22:56
android判断键盘状态两种方法:
1:http://www.it165.net/pro/html/201206/2987.html
protected void onLayout(boolean changed, int l, int t, int r, int b) {super.onLayout(changed, l, t, r, b);if(!mHasInit) {mHasInit = true;mHeight = b;if(onKeyboardStateChangedListener != null) {onKeyboardStateChangedListener.onKeyboardStateChanged(KEYBOARD_STATE_INIT);}} else {mHeight = mHeight < b ? b : mHeight;}if(mHasInit && mHeight > b) {mHasKeyboard = true;if(onKeyboardStateChangedListener != null) {onKeyboardStateChangedListener.onKeyboardStateChanged(KEYBOARD_STATE_SHOW);}}if(mHasInit && mHasKeyboard && mHeight == b) {mHasKeyboard = false;if(onKeyboardStateChangedListener != null) {onKeyboardStateChangedListener.onKeyboardStateChanged(KEYBOARD_STATE_HIDE);}}}
2.http://blog.csdn.net/h7870181/article/details/8332991
http://blog.csdn.net/yellowcath/article/details/8663527
InputMethodManager imm = (InputMethodManager) getSystemService(Activity.INPUT_METHOD_SERVICE);
if(imm.hideSoftInputFromWindow(editText.getWindowToken(), 0))
{
imm.showSoftInput(editText,0);
//软键盘已弹出
}
else
{
//软键盘未弹出
}
二,系统键盘事件捕获:
http://blog.csdn.net/yzzst/article/details/45747507
su
getevent –l
操作 输出信号
/dev/input/event0: EV_SYN SYN_REPORT 000000
/dev/input/event0: EV_KEY KEY_POWER UP
/dev/input/event0: EV_SYN SYN_REPORT 000000音量键下/dev/input/event8: EV_KEY KEY_VOLUMEDOWN DOWN
/dev/input/event8: EV_SYN SYN_REPORT 00000000
/dev/input/event8: EV_KEY KEY_VOLUMEDOWN UP
/dev/input/event8: EV_SYN SYN_REPORT 00000000音量键上/dev/input/event8: EV_KEY KEY_VOLUMEUP DOWN
/dev/input/event8: EV_SYN SYN_REPORT 00000000
/dev/input/event8: EV_KEY KEY_VOLUMEUP UP
/dev/input/event8: EV_SYN SYN_REPORT 00000000按下物理按键“1”/dev/input/event0: EV_KEY KEY_1 DOWN
/dev/input/event0: EV_KEY KEY_1 UP
按下物理按键“q”/dev/input/event0: EV_KEY KEY_Q DOWN
/dev/input/event0: EV_KEY KEY_Q UP按下软键盘上的“q”字母/dev/input/event0: EV_ABS ABS_X 0000001b
/dev/input/event0: EV_ABS ABS_Y 000001d5
/dev/input/event0: EV_KEY BTN_TOUCH DOWN
/dev/input/event0: EV_SYN SYN_REPORT 00000000
/dev/input/event0: EV_KEY BTN_TOUCH UP
/dev/input/event0: EV_SYN SYN_REPORT 00000000按下软件键盘上的的“1”按键/dev/input/event0: EV_ABS ABS_X 00000019
/dev/input/event0: EV_ABS ABS_Y 000001d7
/dev/input/event0: EV_KEY BTN_TOUCH DOWN
/dev/input/event0: EV_SYN SYN_REPORT 00000000
/dev/input/event0: EV_KEY BTN_TOUCH UP
/dev/input/event0: EV_SYN SYN_REPORT 00000000
三:生成中间logo的二维码:
http://blog.csdn.net/jerehedu/article/details/45746369
/** * 生成二维码 * @param string 二维码中包含的文本信息 * @param mBitmap logo图片 * @param format 编码格式 * @return Bitmap 位图 * @throws WriterException */ public Bitmap createCode(String string,Bitmap mBitmap, BarcodeFormat format) throws WriterException { Matrix m = new Matrix(); float sx = (float) 2 * IMAGE_HALFWIDTH / mBitmap.getWidth(); float sy = (float) 2 * IMAGE_HALFWIDTH / mBitmap.getHeight(); m.setScale(sx, sy);//设置缩放信息 //将logo图片按martix设置的信息缩放 mBitmap = Bitmap.createBitmap(mBitmap, 0, 0, mBitmap.getWidth(), mBitmap.getHeight(), m, false); MultiFormatWriter writer = new MultiFormatWriter(); Hashtable<EncodeHintType, String> hst = new Hashtable<EncodeHintType, String>(); hst.put(EncodeHintType.CHARACTER_SET, "UTF-8");//设置字符编码 BitMatrix matrix = writer.encode(string, format, 400, 400, hst);//生成二维码矩阵信息 int width = matrix.getWidth();//矩阵高度 int height = matrix.getHeight();//矩阵宽度 int halfW = width / 2; int halfH = height / 2; int[] pixels = new int[width * height];//定义数组长度为矩阵高度*矩阵宽度,用于记录矩阵中像素信息 for (int y = 0; y < height; y++) {//从行开始迭代矩阵 for (int x = 0; x < width; x++) {//迭代列 if (x > halfW - IMAGE_HALFWIDTH && x < halfW + IMAGE_HALFWIDTH && y > halfH - IMAGE_HALFWIDTH && y < halfH + IMAGE_HALFWIDTH) {//该位置用于存放图片信息 //记录图片每个像素信息 pixels[y * width + x] = mBitmap.getPixel(x - halfW + IMAGE_HALFWIDTH, y - halfH + IMAGE_HALFWIDTH); } else { if (matrix.get(x, y)) {//如果有黑块点,记录信息 pixels[y * width + x] = 0xff000000;//记录黑块信息 } } } } Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); // 通过像素数组生成bitmap bitmap.setPixels(pixels, 0, width, 0, 0, width, height); return bitmap; }
0 0
- 5.17学习内容 android判断软键盘状态、系统键盘监控、生成中间logo的二维码
- android 使用zxing生成中间嵌套logo的二维码
- android 使用zxing生成中间嵌套logo的二维码
- 生成二维码(中间带logo) android
- Java生成中间带有logo的二维码
- Java生成中间logo的二维码
- 生成中间带logo的二维码
- android 生成二维码 中间可以添加小logo
- Android 使用zxing包生成中间有logo的二维码图片
- 用QRCode生成带有中间logo图的二维码
- 利用phpqrcode类库生成中间带logo的二维码
- HTML5笔记:利用JS生成中间带logo的二维码
- Android 监控软键盘状态
- Android判断软键盘的状态和隐藏软键盘
- iOS二维码生成中间带图片Logo
- js生成二维码 中间有logo
- android生成带logo的二维码
- Android 生成带有Logo的二维码
- hdu1018阶乘位数
- vector元素为自定义结构体类型时如何对容器元素进行排序?
- Oracle systemstatedump 会加锁么?
- 关于时间函数的一些有用的SQL脚本
- 如何将Android Studio项目提交(更新)到github
- 5.17学习内容 android判断软键盘状态、系统键盘监控、生成中间logo的二维码
- stk6.1安装方法
- poj 1651 区间dp
- 1029. 旧键盘(20)
- poj 2446 二分图最大匹配 匈牙利算法
- Solution to CLRS Chapter 4
- C++ Primer:第八章:IO库(续)
- 第十一周项目一 是春哥啊
- 四十七、多态性:运算符重载为类的友元函数