不想写太多麻烦,就贴一些关键代码。我的资源里有源码

http://download.csdn.net/detail/songqiang2011/9911435

1.在PinyinIME类

获取输入法的弹出窗,在onCreateInputView()修改输入法的位置和宽高。

public void setPinyinWindow(){
        if(pinyinWin == null){
            pinyinWin = super.getWindow().getWindow();
        }
        WindowManager.LayoutParams param = pinyinWin.getAttributes();
        //一定要修过类型,不然修过的参数无效
        param.type = WindowManager.LayoutParams.TYPE_SYSTEM_ALERT;
        param.width = mEnvironment.getScreenWidth();
        param.height = mEnvironment.getScreenHeight()-100;
        param.x = winX;
        param.y = winY;
        pinyinWin.setBackgroundDrawable(new ColorDrawable(Color.BLUE));
        pinyinWin.setAttributes(param);
    }

2.在 Environment 参数类里面修改宽高参数

private int mScreenWidth = 700; // 屏幕的宽度
private int mScreenHeight = 375; // 屏幕的高度

3.skb_qwerty.xml 添加一个move键,图标自己做

<row  width="10.205%p">
    <key label="move" icon="@drawable/move_icon" icon_popup="@drawable/move_popup_icon" width="10.286%p" code="-10"/>
    <keys splitter="|" labels="A|S|D|F|G|H|J|K|L"
      codes="29|47|32|34|35|36|38|39|50"/>
  </row>

4. SkbContainer 软键盘类的触摸事件onTouchEvent()

把pinyinIME类set到skbcontainer类里面

public void setPinyinIME(PinyinIME pinyinIME){
        this.pinyinIME = pinyinIME;
    }

监听移动触摸事件

if( mSoftKeyDown!=null && mSoftKeyDown.getKeyCode() == -10){
            switch (event.getAction()) {
            case MotionEvent.ACTION_MOVE:
                return movePinyinWin(event);
            }
        }

修改软键盘窗口的 坐标位置

public boolean movePinyinWin(MotionEvent e){
        WindowManager.LayoutParams param = pinyinIME.pinyinWin.getAttributes();
        int winX = param.x;
        int chax = (int)(e.getRawX()) - prex;
        int chay = prey - (int)(e.getRawY());
        if((chax>0 && winX+chax>1920/2) || (chax<0 && winX+chax<-1920/2)){
            return false;
        }
        if(prex != 0 || prey != 0){
            param.x += chax;
            param.y += chay;
            pinyinIME.setWinXY(param.x, param.y);
            pinyinIME.pinyinWin.setAttributes(param);
        }
        prex = (int)(e.getRawX());
        prey = (int)(e.getRawY());
        return true;
    }

谷歌源码输入法修改版(支持拖动,放大缩小)相关推荐

  1. 小呆聚合支付源码开源修正版支持易支付对接各大网站,APP离线完美回调

    @全体成员v6.4.1升级到v6.4.2 1.增加两套支付模版,用户可以后台自由切换模式 2.优化默认支付模版,增加订单来源,商品名称 3.增加app在各个手机上安装指引教程 4.优化其他细节 @全体 ...

  2. 电竞比分源码/免买分源码/可二开/支持最新PHP7.3/LOL,王者,吃鸡等等电竞比分源码

    简介: [独家分享]比分源码/免买分源码/可二开/支持PHP7.3 OS6.5 到7.5 推荐7.4 Nginx -Tengine2.2.3 MySQL 8.0.16 PHP 7.3 Redis 5. ...

  3. 【小程序源码】视频壁纸支持多种分类短视频另外也有静态壁纸

    这是一款壁纸的微信小程序源码 其实这款小程序也可以说是短视频小程序都可以 该款小程序全采集, 大家应该知道小编之前也发过一款动态壁纸的小程序 不过那款是没有分类的,而这款不一样了,内包含了多种分类 相 ...

  4. 最新UI界面漫画小程序源码,带后台支持流量主,24小时全自动更新!

    前言 今天给大家带来一款漫画小程序源码,带后台支持流量主,24小时自动更新,亲测可用,小程序UI我简单的修改了一下,漫画24小时自动更新,免维护,支持流量主,搭建宣传一波等裂变即可! 安装教程 准备工 ...

  5. 最新彩虹云自助下单商城系统源码ver6.9.0+支持免授权

    正文: 最新彩虹云自助下单商城系统源码ver6.9.0+支持免授权,这彩虹源码直接上传源码,然后在解压缩后,访问域名安装即可完成. 这程序本实测是可用的,安装过程也非常简单,简单的配置一下数据库就可以 ...

  6. cef3 源码编译 2018-12 添加支持mp3 , mp4 的编译分支3282与最新的3578版

    编译好的结果下载地址在最后 ========================================================================= 工 作中需要使用cef3 ...

  7. 最新ChatGPT网站源码V4.7.8+支持Ai绘画+ChatGPT商业运营版+管理后台+支持用户套餐+好友邀请功能+一键在线更新+永久使用!

    最新ChatGPT网站源码V4.7.8+支持Ai绘画+ChatGPT商业运营版+管理后台+支持用户套餐+好友邀请功能+一键在线更新+永久使用! 如果后续程序有新版,直接在后台一键更新即可 程序完美运行 ...

  8. Axure9图片拖动放大缩小

    Axure9 图片拖动放大缩小 1.设置两个文本域,分别放置图片的宽与高 2.图片的交互设置 3.效果 当去请教一个会的人会的东西,因为他会,会很爽快的说不会可以问我呀,但是当问到不会的东西时,就会说 ...

  9. php7米酷cms,米酷CMS6.2修改版 支持PHP7 独家首发 - 百码云

    修改版介绍 米酷CMS在8月已经更新到了6.2版本,已经解决了首页加载速度缓慢的问题,我对比了6.0版本和6.2版本的代码,改动其实有点多,但不知道为什么不支持PHP7,单从PHP版本来说,PHP7比 ...

最新文章

  1. Linux 汇编语言开发指南
  2. 让织梦内容页arclist标签的当前文章标题加亮显示
  3. synology_用于在Synology NAS上测试Spring Boot Web应用程序的JUnit模拟文件
  4. 全年营业额怎么计算_会计税法计算公式大全
  5. [原译]11个高效的VS调试技巧
  6. Py:python利用easygui实现最简单GUI带你学习区块链技术的发展和由来
  7. Spring boot自动配置示例
  8. 电气实现:蒙特卡洛法 模拟多台电动汽车有序充放电负荷和(python实现)
  9. Windows 8 JavaScript Metro应用程序--入门(上)
  10. 使用微软VS2015编写python代码
  11. 808协议与php通讯,车载808协议对接、交通部794对接、部标808协议809协议对接
  12. pytorch 如何将张量、类实例、函数放到GPU上
  13. linux jdk路径
  14. 文本处理及正则表达式
  15. 单片机C语言字符串转数字
  16. 劳易测BPS300i SM 100条码定位
  17. 转:: 刺鸟:用python来开发webgame服务端(1)
  18. 手机内存卡RAW无法格式化的解决办法
  19. VINS-Mono 论文公式推导与代码解析
  20. 数仓搭建 DWT 层

热门文章

  1. React map遍历点击获取key
  2. Unity UGUI优化与原理【unity官方】
  3. 阿朱重新定义SaaS
  4. python项目的构建setup.py
  5. 报错:Unsatisfied dependency expressed through field 'xxxService';
  6. springboot操作pdf(二)之合并pdf
  7. 计网 | 服务器到底是什么?浏览器和Web服务器的区别
  8. java.util.concurrent(在并发编程中很常用的实用工具类)
  9. 关于python2的pwntools的安装
  10. 不想打工了,手头上仅有5万元,想回农村做养殖,能养什么?