android 打开软键盘

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <!-- 定义显示软键盘按钮 -->
    <Button
        android:id="@+id/btn_soft"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="弹出/关闭软键盘" />

</LinearLayout>
package com.example.yanlei.yl2;

import android.content.Context;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.inputmethod.InputMethodManager;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
    // 定义软键盘的按钮
    private Button btnSoft;
    //声明InputMethodManager对象
    InputMethodManager imm ;
    //声明一个textview

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //取得InputMethodManager对象
        imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
        //得到布局中的所有对象
        findView();
        //设置对象的监听器
        setListener();
    }

    private void findView() {
        // 得到布局中的所有对象
        btnSoft = (Button) findViewById(R.id.btn_soft);
    }
    //设置对象的监听器
    private void setListener() {
        btnSoft.setOnClickListener(listener);
    }
    OnClickListener listener=new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            //第一次调用显示,再次调用则隐藏,如此反复
            //触发软键盘,InputMethodManager.HIDE_NOT_ALWAYS能够正常的隐藏,除非遇到SHOW_FORCED.
            imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
        }
    };
}
时间: 2024-11-03 03:33:57

android 打开软键盘的相关文章

android EditText 软键盘 一些总结

看一个manifest中Activity的配置,如果这个页面有EditText,并且我们想要进入这个页面的时候默认弹出输入法,可以这样设置这个属相:android:windowSoftInputMode=stateVisible,这样就会默认弹起输入法,当然还有别的办法. <activity android:name=".ui.login" android:configChanges="orientation|keyboardHidden|locale" an

android editText 软键盘enter键图标的设置

<EditText android:layout_marginTop="10dp" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="输入单位" android:layout_marginLeft="10dp" android:layout_marginRight="1

android 设置软键盘默认为26位软键盘

在EditText中设置属性 android:inputType="textUri|textMultiLine" android 设置软键盘默认为26位软键盘

android开发 软键盘出现后 防止EditText控件遮挡 整体平移UI

在EditText控件接近底部的情况下 软键盘弹出后会把获得焦点的EditText控件遮挡 无法看到输入信息 防止这样的情况发生 就需要设置AndroidManifest.xml的属性 前面的xml信息省略 在activity中 增加android:windowSoftInputMode="adjustPan" <activity ........................................................ android:windowSoft

Android自定义软键盘

前不久由于项目的需要,要做一个自定义的软键盘,我也上网看了很多,都觉得很繁琐,所以想自己动手实现个.以备不时之需把.我选择了参考百度钱包的软键盘,看起来还不错: 下面一起来实现它: 1.写一个键盘控件,这个实现起来比较简单,就不多说了 public class SoftInputBoard extends RelativeLayout implements View.OnClickListener{ private Scroller mScroller; private int mScreenH

Android下强制打开软键盘

这个也是累人,网上查了很多方法,没有实现需求. 最后的实现方法很简单.代码: 1 //通过定时器强制打开虚拟键盘 2 public static void TimerShowKeyboard(final View v) 3 { 4 Timer timer = new Timer(); 5 timer.schedule(new TimerTask(){ 6 @Override 7 public void run() 8 { 9 InputMethodManager imm = ( InputMet

Android 强制软键盘关闭

在Android开发过程中,有时候我们会有强制关闭软键盘的需求.比如说:现在有一个文本编辑框(testEt)和一个按钮(testBtn),我们现在点击文本编辑框testEd,这时会弹出软键盘,然后我们点击按钮testBtn,此时软键盘还是保持了打开的状态...问题来了,我们想要的结果是软键盘消失.(testBtn只是我随便举的一个例子,也可以使别的控件例如下拉框.可点击的图片.自定义空间等等) 下面提供两种方法解决: 一.这种方法只是关闭软键盘: 在按钮testBtn调用以下方法hideKeyb

android设置软键盘搜索键以及监听搜索键点击时发生两次事件的问题解决

如图所示,有时候为了布局美观,在搜索时没有搜索按钮,而是调用软件盘上的按钮.调用的实现只需要在XML在输入框中加入android:imeOptions="actionSearch",调用软键盘时,回车键就会显示搜索二字. 然后调用 OnEditorActionListener,不是OnKeyListener searchText.setOnEditorActionListener(new OnEditorActionListener() { @Override public boole

Android 获取软键盘的删除delete事件

对于软键盘删除事件,网上有很多方案是如下,但是 google api也说明了,这个只是监听硬件键盘,对于软键盘并不负责触发(我测试了一下,软键盘能够监听delete键,其他键像数字字母等没有触发这里的监听方法). editText.setOnKeyListener(new OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { //You can identify which