软键盘的应用

66人阅读 评论(0) 收藏 举报

在安卓开发中软键盘是在评论模块中不可缺少的内容:


1.评论嵌套在scrollView中,这是评论的弹出是遮盖到评论的内容的,这是要用到scrollTO的方法;


其中parentLayout是根布局的main

parentLayout.getViewTreeObserver().addOnGlobalLayoutListener(
        new ViewTreeObserver.OnGlobalLayoutListener() {

            @Override
            public void onGlobalLayout() {
                Rect r = new Rect();
                // r will be populated with the coordinates of your view
                // that area still visible.
                parentLayout.getWindowVisibleDisplayFrame(r);
                DisplayMetrics metric = new DisplayMetrics();
                getWindowManager().getDefaultDisplay().getMetrics(
                        metric);
                int screenHeight = metric.widthPixels; // 屏幕宽度(像素)
                int heightDiff = screenHeight - (r.bottom - r.top);
                if (heightDiff > 100)
                    // if more than 100 pixels, its probably a keyboard
                    // get status bar height

                    try {
                        Class<?> c = Class
                                .forName("com.android.internal.R$dimen");
                        Object obj = c.newInstance();
                        Field field = c.getField("status_bar_height");
                        int x = Integer.parseInt(field.get(obj)
                                .toString());
                        statusBarHeight = context.getResources()
                                .getDimensionPixelSize(x);
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                realKeyboardHeight = heightDiff - statusBarHeight;

                if (realKeyboardHeight > 0) {
                    //这里的post是必不可少的。
                    scrollView.post(new Runnable() {
                        @Override
                        public void run() {
                            scrollView.scrollBy(0, 5 * realKeyboardHeight);
                        }
                    });
                }else {
                    scrollView.post(new Runnable() {
                        @Override
                        public void run() {
                            scrollView.scrollBy(0, -5 * realKeyboardHeight);
                        }
                    });
                }
            }
        });

rl_more.setFocusable(true);
rl_more.setFocusableInTouchMode(true);
rl_more.requestFocus();


还有一种就是监听软键盘的确认按钮:


tv.setOnEditorActionListener(this);

  public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
        boolean isOK = true;
        switch (actionId) {
            case EditorInfo.IME_ACTION_NONE:
                Toast.makeText(this, "点击-->NONE", Toast.LENGTH_SHORT).show();
                break;
            case EditorInfo.IME_ACTION_GO:
                Toast.makeText(this, "点击-->GO", Toast.LENGTH_SHORT).show();
                break;
            case EditorInfo.IME_ACTION_SEARCH:
                Toast.makeText(this, "点击-->SEARCH", Toast.LENGTH_SHORT).show();
                break;
            case EditorInfo.IME_ACTION_SEND:
                Toast.makeText(this, "点击-->SEND", Toast.LENGTH_SHORT).show();
                break;
            case EditorInfo.IME_ACTION_NEXT:
                Toast.makeText(this, "点击-->NEXT", Toast.LENGTH_SHORT).show();
                break;
            default:
                isOK = false;
                break;
        }
        
       return isOK;

    }

以上两种是必备的。

查看评论

Android 中自定义软键盘

图一为搜狗输入法、图二为自定义密码键盘、图三为自定义密码键盘
  • gao_chun
  • gao_chun
  • 2015-05-26 17:12:26
  • 3328

jQuery软键盘模拟键盘

  • 2009年10月15日 09:57
  • 16KB
  • 下载

WPF 获取光标以及类似QQ软键盘效果!

  • 2010年12月20日 13:38
  • 37KB
  • 下载

android中屏蔽软键盘的方法

在有些应用和场景中,需要屏蔽软件盘,有如下两种方法 1 View v = findViewById(R.id.myView); 比如找出的View为fEmail,则 InputMetho...
  • jackyrongvip
  • jackyrongvip
  • 2013-07-01 17:50:45
  • 6907

cordova—— 监听手机软键盘出现和隐藏事件及获取软键盘的高度

我们在ionic移动端项目中往往需要在输入框获取焦点,手机软件盘弹出或者隐藏的时候做一些操作,接下来为大家介绍一个cordova的一个插件: 1.首先,安装cordova的关于键盘事件的插件 cord...
  • liayn523
  • liayn523
  • 2017-02-25 17:55:36
  • 1141

JS软键盘

  • 2008年01月22日 10:35
  • 6KB
  • 下载

关于Android系统的光标和软键盘(持续更新中)

光标和软件盘,大家都很熟悉,这里不做介绍,简单介绍他们的一些实用小技巧,希望能帮到需要的朋友。 1.光标的隐藏和显示   在Android中如果有实用EditText控件,就会涉及到光标的显示和隐藏:...
  • w_l_s
  • w_l_s
  • 2016-12-06 19:23:16
  • 416

web页面 软键盘 j s

  • 2008年10月14日 11:29
  • 16KB
  • 下载

VC开发的外观很绚丽软键盘源码

  • 2009年05月20日 11:21
  • 527KB
  • 下载

wince下软键盘的调用方法

  • 2013年02月16日 16:08
  • 248B
  • 下载
    个人资料
    等级:
    访问量: 274
    积分: 51
    排名: 167万+
    文章分类
    文章存档
    最新评论