首页 > 代码库 > Android设置输入框和软键盘动态悬浮
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 <Button15 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 <Button23 android:id="@+id/butt2"24 android:layout_width="wrap_content"25 android:layout_height="wrap_content"26 android:text="隐藏" />27 28 <EditText29 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 @Override15 public void onClick(View view) {16 //绑定软键盘到EditText17 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 @Override27 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:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分
Android设置输入框和软键盘动态悬浮
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。