我有一个布局,使用EditText让用户搜索数据库并填充ListView.EditText大约是屏幕顶部的2/3(位于ImageView上方,后面是一些介绍文本.)
问题是软键盘隐藏了EditText,因此用户无法看到他正在键入的内容.(我禁用了自动建议.)
我已经尝试过LinearLayout,RelativeLayout,paddings和不同的对齐/居中,但我仍然无法让它正常工作.EditText要么隐藏,要么被推离屏幕顶部,要么"压扁"并扭曲.
建议???
一种可能的解决方法是将EditText移动到屏幕顶部.但是,这与我给出的图形设计不同.
另一种可能的解决方法是让我在全屏幕上打开软键盘(不过如何确定).这仍然会隐藏EditText,但之后我可以重新启用自动建议,这样用户就可以看到他正在输入的内容......有点......因为他只能看到他正在输入内容的建议.
这是我最近的尝试.请参阅"introFrame".
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:orientation="vertical">
<LinearLayout android:id="@+id/titleContainer"
android:orientation="horizontal" android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView android:text="@string/title_string"
android:textSize="15sp" android:textColor="#FFFFFF"
android:textStyle="bold" android:paddingLeft="5dp"
android:layout_height="fill_parent" android:layout_width="wrap_content" />
</LinearLayout>
<FrameLayout
android:id="@+id/introFrame"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal" >
<ImageView
android:src="@drawable/main_search_image"
android:scaleType="center"
android:layout_gravity="center"
android:layout_height="wrap_content"
android:layout_width="wrap_content"/>
<LinearLayout
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:paddingTop="140dp" >
<LinearLayout android:id="@+id/introSearchContainer"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical" >
<LinearLayout
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" >
<EditText android:id="@+id/intro_search_box"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:hint=" Enter keyword "
android:imeOptions="actionGo"
android:inputType="textFilter"
android:maxLines="1" />
</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content" …Run Code Online (Sandbox Code Playgroud) 在EditText中书写时,如何在我的软键盘(Samsung Galaxy 10.1,Android 3.1)中使用"完成"按钮?
运用
<EditText
android:id="@+id/comment"
android:layout_width="772dp"
android:layout_height="200dp"/>
Run Code Online (Sandbox Code Playgroud)
我明白了

如果可能的话,我也想删除这个"附件"按钮.
有人可以帮忙吗?
编辑
我设法使用"完成"按钮
android:inputType="textImeMultiLine",
Run Code Online (Sandbox Code Playgroud)
但"返回"按钮消失了......
我怎么能两个都有?(我在这里问了这个新问题).
SearchView默认是聚焦的,但是当我尝试显示软件键盘时 - 它不会发生:
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED,0);
Run Code Online (Sandbox Code Playgroud)
但是,当我点击SearchView时 - 它确实如此.为什么?
android android-softkeyboard android-4.0-ice-cream-sandwich searchview android-4.2-jelly-bean
我想编写一个自定义键盘,它应该适用于运行Android 4.0及更高版本的所有设备.所以我首先搜索网络,但没有发现任何相关信息.那么如何创建一个取代Android的股票键盘的应用程序呢?
我想知道的是什么:
如何EditText在Android中以编程方式在软键盘中禁用拼写更正?用户可以从设置中禁用它,但我需要在我的应用程序中禁用它.
有没有办法做到这一点?
java android spell-checking android-softkeyboard android-edittext
我正在使用Jake Wharton出色的ActionBarSherlock库并具有可折叠的搜索操作视图.我想在展开搜索操作视图时弹出软键盘.
我们可以在Google的" Using DialogFragments "博客文章中阅读一个推荐的方法,在DialogFragment中进行此操作(为了便于阅读,稍作修改).
// Show soft keyboard automatically
mEditText.requestFocus();
int mode = WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE;
getDialog().getWindow().setSoftInputMode(mode);
Run Code Online (Sandbox Code Playgroud)
在扩展和请求关注可折叠的EditText操作视图时,这似乎不起作用.我现在有这个.
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getSupportMenuInflater();
inflater.inflate(R.menu.my_activity, menu);
MenuItem menuItem = menu.findItem(R.id.menu_search);
final EditText searchText = (EditText) menuItem.getActionView();
menuItem.setOnActionExpandListener(new OnActionExpandListener() {
@Override
public boolean onMenuItemActionCollapse(MenuItem item) {
return true; // Return true to collapse action view
}
@Override
public boolean onMenuItemActionExpand(MenuItem item) {
searchText.requestFocus();
int mode = WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE;
getWindow().setSoftInputMode(mode);
return true; // …Run Code Online (Sandbox Code Playgroud) android android-softkeyboard android-menu actionbarsherlock android-actionbar
我有两个EditText(每个只接受一个字符),我想处理两个字段,就像我只有一个.
当用户在第一个中写入一个字符时,我正在使用TextWatcher将焦点设置在第二个焦点,但我不知道如何做相反的事情.
如果用户按下第二个EditText中的删除按钮(此EditText为空),我想将焦点移动到第一个EditText并删除那里的字符.
问题是当用户尝试删除空字段时TextWatcher不起作用(因为实际上没有任何变化).onKeyDown事件只适用于硬键盘,所以我不知道如何处理这个问题...
谢谢!
我正在尝试监听键盘显示或隐藏时发生的事件.这在Android中可行吗?我不想弄清楚当我开始活动时键盘是显示还是隐藏,我想听听事件.
我有自定义Android键盘:
public class CustomKeyboard extends Keyboard{...}
public class CustomKeyboardView extends KeyboardView{...}
public class CustomKeyboardIME extends InputMethodService implements KeyboardView.OnKeyboardActionListener{...}
Run Code Online (Sandbox Code Playgroud)
在一些按键,我有popupKeyboard和popupCharacters:
<Key android:codes="144" android:keyLabel="0" android:popupKeyboard="@xml/key_popup" android:popupCharacters=")" android:keyEdgeFlags="right"/>
Run Code Online (Sandbox Code Playgroud)
XML/key_popup.xml:
<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
android:keyWidth="10%p"
android:horizontalGap="0px"
android:verticalGap="0px"
android:keyHeight="@dimen/key_height" >
</Keyboard>
Run Code Online (Sandbox Code Playgroud)
但是当我长按"0"键弹出")"显示时,它会一直保持在那里直到我按下"X"按钮或")"字符.它看起来像这样:

而且我希望它只在我按住手指时打开.像三星或HTC键盘上的东西:
有谁可以帮助我吗?
编辑至少可以改变这个弹出窗口的外观吗?我希望它具有与我制作的整个键盘相同的背景和键
keyboard android keyboard-events android-softkeyboard android-input-method
android ×10
keyboard ×2
android-4.0-ice-cream-sandwich ×1
android-menu ×1
java ×1
listener ×1
searchview ×1