① android 一个布局里面有三个EditText默认的光标是停在第一个上面的怎么让光标默认在第二个或第三个呢
在请求出现光标是,也就是在获取焦点时:
editText.requestFocus();
清除光标,也就是失去焦点:
editText.clearFocus();
第一个设置失去焦点,第二或者第三个设置获得焦点试试
另外还有:
使光标移动到指定的位置:
editText.setSelection(2);
输入的参数是个整数
让EditText不出现光标:
editText.setCursorVisible(false);
② android 输入框失去焦点,怎样让键盘不自
1. 在activity layout xml文件中,EditText的前面定义:
<LinearLayout android:focusable="true" android:focusableInTouchMode="true" android:layout_width="0px" android:layout_height="0px" />
2. 在EditText中添加nextFocusUp与nextFocusLeft
<EditText android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/editText" android:nextFocusUp="@id/editText" android:nextFocusLeft="@id/editText" />
③ android edittext输入完成后让光标消失
首先需要监听输入框的焦点变化,其次再根据焦点是否存在设置其光标显示
代码如下:其中editText是你的editText的id.
editText.setCursorVisible(true); --> 设置光标可见(默认), 为false即不可见
代码如下:
editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
@Override
public void onFocusChange(View view, boolean b) {
boolean hasFocus = true;
if (hasFocus) {
editText.requestFocus(); //获取焦点,光标出现
editText.setFocusableInTouchMode(true);
editText.setFocusable(true);
editText.setCursorVisible(true);
} else {
editText.clearFocus();
editText.setCursorVisible(false);
}
}
});
④ 怎么让android 页面失去焦点
在网上找了好久,有点监听软键盘事件,有点调用 clearFouse()方法,但是测试了都没有!xml中也找不到相应的属性可以关闭这个默认行为
1 解决之道:在EditText的父级控件中找一个,设置成
Android:focusable="true"
android:focusableInTouchMode="true"
这样,就把EditText默认的行为截断了!
<LinearLayout
style="@style/FillWrapWidgetStyle"
android:orientation="vertical"
android:background="@color/black"
android:gravity="center_horizontal"
android:focusable="true"
android:focusableInTouchMode="true"
>
<ImageView
android:id="@+id/logo"
style="@style/WrapContentWidgetStyle"
android:background="@drawable/dream_dictionary_logo"
/>
<RelativeLayout
style="@style/FillWrapWidgetStyle"
android:background="@drawable/searchbar_bg"
android:gravity="center_vertical"
>
<EditText
android:id="@+id/searchEditText"
style="@style/WrapContentWidgetStyle"
android:background="@null"
android:hint="Search"
android:layout_marginLeft="40dp"
android:singleLine="true"
/>
</RelativeLayout>
</LinearLayout>
2 还有一个方法也可以非常简单的实现这个功能:
EditText对象的clearFocus();
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(editMsgView.getWindowToken(), 0);(关闭软键盘。。。)
3更多问题解决办法请参考android学习手册,例子、源码、文档全部搞定,采用androidstudo的目录结构,360手机助手中下载。下面是截图。
⑤ android 怎么让edittext失去焦点
1、在EditText的父布局中的布局文件中设置这两行代码
android:focusable="true"
android:focusableInTouchMode="true"
2、在代码中设置EditText焦点通过setFocusable()和setFocusableInTouchMode() 不过这个好像不怎么管用
3、如果你是不是想跳转到有EditText的界面时自动弹出软键盘的话 可以在功能清单文件(AndroidManifest.xml) 中的相对应activity节点中设置软键盘弹出模式
android:windowSoftInputMode="stateAlwaysHidden|adjustPan"
⑥ android 怎样让button失去焦点
三种方法可以试试。
1、button.setFocusable(false);
2、如果只是为了进入的时候不要让某个控件得到焦点,可以设置焦点到整个Layout。
3、也可以在屏幕的空白处 就是你的deittext的父容器(例如你把文本框放在了LinearLayout布局中)可以给父容器添加事件使其失去焦点。