zoukankan      html  css  js  c++  java
  • Android设置输入框和软键盘动态悬浮

     1 <?xml version="1.0" encoding="utf-8"?>
     2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
     3     xmlns:tools="http://schemas.android.com/tools"
     4     android:layout_width="match_parent"
     5     android:layout_height="match_parent"
     6     tools:context="com.liuzheng.admin.myhidden.MainActivity">
     7 
     8     <LinearLayout
     9         android:layout_width="match_parent"
    10         android:layout_height="45dp"
    11         android:layout_alignParentBottom="true"
    12         android:orientation="horizontal">
    13 
    14         <Button
    15             android:id="@+id/butt1"
    16             android:layout_width="wrap_content"
    17             android:layout_height="wrap_content"
    18             android:focusable="true"
    19             android:focusableInTouchMode="true"
    20             android:text="显示" />
    21 
    22         <Button
    23             android:id="@+id/butt2"
    24             android:layout_width="wrap_content"
    25             android:layout_height="wrap_content"
    26             android:text="隐藏" />
    27 
    28         <EditText
    29             android:id="@+id/edit_text"
    30             android:layout_width="200dp"
    31             android:layout_height="wrap_content" />
    32 
    33     </LinearLayout>
    34 
    35 </RelativeLayout>
     1 public class MainActivity extends AppCompatActivity {
     2 
     3     private Button butt1;
     4     private Button butt2;
     5     private EditText edit;
     6 
     7     @Override
     8     protected void onCreate(Bundle savedInstanceState) {
     9         super.onCreate(savedInstanceState);
    10         setContentView(R.layout.activity_main);
    11         edit = (EditText) findViewById(R.id.edit_text);
    12         butt1 = (Button) findViewById(R.id.butt1);
    13         butt1.setOnClickListener(new View.OnClickListener() {
    14             @Override
    15             public void onClick(View view) {
    16                 //绑定软键盘到EditText
    17                 edit.setFocusable(true);
    18                 edit.setFocusableInTouchMode(true);
    19                 edit.requestFocus();
    20                 InputMethodManager inputManager = (InputMethodManager) edit.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
    21                 inputManager.showSoftInput(edit, 0);
    22             }
    23         });
    24         butt2 = (Button) findViewById(R.id.butt2);
    25         butt2.setOnClickListener(new View.OnClickListener() {
    26             @Override
    27             public void onClick(View view) {
    28 //                去除软键盘显示
    29                 edit.clearFocus();
    30                 InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    31                 imm.hideSoftInputFromWindow(edit.getWindowToken(), 0);
    32             }
    33         });
    34     }
    35 }
     1 <?xml version="1.0" encoding="utf-8"?>
     2 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     3     package="com.liuzheng.admin.myhidden">
     4 
     5     <application
     6         android:allowBackup="true"
     7         android:icon="@mipmap/ic_launcher"
     8         android:label="@string/app_name"
     9         android:supportsRtl="true"
    10         android:theme="@style/AppTheme">
    11         <activity android:name=".MainActivity"
    12             android:windowSoftInputMode="adjustResize">
    13             <intent-filter>
    14                 <action android:name="android.intent.action.MAIN" />
    15 
    16                 <category android:name="android.intent.category.LAUNCHER" />
    17             </intent-filter>
    18         </activity>
    19     </application>
    20 
    21 </manifest>

    在 项目的AndroidManifest.xml文件中界面对应的<activity>里加入

    android:windowSoftInputMode="adjustResize"

    各值的含义:
    
      【A】stateUnspecified:软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置
    
      【B】stateUnchanged:当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示
    
      【C】stateHidden:用户选择activity时,软键盘总是被隐藏
    
      【D】stateAlwaysHidden:当该Activity主窗口获取焦点时,软键盘也总是被隐藏的
    
      【E】stateVisible:软键盘通常是可见的
    
      【F】stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态
    
      【G】adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示
    
      【H】adjustResize:该Activity总是调整屏幕的大小以便留出软键盘的空间
    
      【I】adjustPan:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分
    

      



  • 相关阅读:
    AcWing 157. 树形地铁系统 (hash判断树同构)打卡
    AcWing 156. 矩阵 (哈希二维转一维查询)打卡
    AcWing 144. 最长异或值路径 01字典树打卡
    AcWing 143. 最大异或对 01字典树打卡
    AcWing 142. 前缀统计 字典树打卡
    AcWing 139. 回文子串的最大长度 hash打卡
    AcWing 138. 兔子与兔子 hash打卡
    常用C库函数功能及用法
    编程实现C库函数
    C语言面试题5
  • 原文地址:https://www.cnblogs.com/rookie-26/p/5920577.html
Copyright © 2011-2022 走看看