androidedittext移动
❶ Android的EditText长按只显示上面的复制粘贴菜单,不要弹出下面的输入法键盘怎么做
4.0以上的API禁止EditText弹出键盘需要这样写:
4.0的是setShowSoftInputOnFocus,4.2的是setSoftInputOnFocus。
java">EditTexteditText;
//editText的实例化我不写了
InputMethodManagerimm=(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(e1.getWindowToken(),0);
try{
Class<EditText>cls=EditText.class;
setSoftInputShownOnFocus=cls.getMethod("setShowSoftInputOnFocus",boolean.class);
setSoftInputShownOnFocus.setAccessible(true);
setSoftInputShownOnFocus.invoke(editText,false);
}catch(Exceptione){
e.printStackTrace();
}
并且还要在配置文件里面加上android:windowSoftInputMode="stateHidden"
4.0以下的可用editText.setInputType(InputType.TYPE_NULL);
或者直接在XML进行属性设置。
如果对4.0以上系统的操作这句代码,EditText将会没有光标。
❷ android开发,edittext监听跳转的时候会先换行,然后光标再跳入下一个edittext,这是怎么回事
enter按键按下才触发键盘侦听事件,所以会有enter效果。
et.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
// TODO Auto-generated method stub
if(actionId==EditorInfo.IME_ACTION_UNSPECIFIED){
name.requestFocus();
}
return true;
}
});
用这个侦听方法。
❸ Android-EditText之代码动态修改编辑框光标颜色(通过反射的方式-简单记录下)
在开发Android应用时,涉及到自定义弹窗的封装,如FanChael/CommonPopupWindow,可能需要实现统一的界面风格,包括编辑框的光标颜色、下划线颜色以及按钮背景颜色。针对编辑框的光标颜色,这里采用了一种通过反射方式动态修改的方法。
实现步骤如下:
- 创建一个工具类,例如`EditTextUtil.java`。
在工具类中,封装方法来动态修改光标颜色。具体操作可以通过反射机制访问并修改`EditText`类的私有成员变量,如`mCursorDrawableRes`等。这样,根据传入的颜色值,可以实现对光标颜色的动态修改。
对于编辑框下划线颜色的修改,可以通过在`styles`主题中增加`control`配色,通常涉及在`app`模块下的`style.xml`文件中定义相关样式,以实现对`EditText`下划线颜色的统一调整。
另外,按钮的颜色统一处理,可以通过代码动态创建`Shape`(例如使用`GradientDrawable`),然后根据需要调整其样式属性,最终将此`Shape`应用到`Button`或`TextView`的背景上,实现颜色一致性。
总结而言,通过封装工具类和合理的代码设计,可以较为方便地实现编辑框光标颜色的动态修改,同时考虑整体界面风格的统一性,提高代码的复用性和维护性。
在实践过程中,可能遇到一些限制或失效的情况,如特定版本的Android系统对某些反射操作的限制。此时,可以考虑通过`style`文件统一配置或探索其他更通用的方案,例如创建一个自定义的继承`EditText`的控件,通过其配置来统一所有相关控件的样式,从而简化实现过程。
❹ Android中怎么将一个edittext里的文本传到另一个edittext中
edittext控件有监听事件,在事件中获取第一个edittext中的字符串,然后用setText方法显示到第二个edittext中,这样边输入边显示。
❺ Android EditText当输入文字换行后,如何让EditText的高度也随之适应整个文字的高度呢
我也遇到同样问题,以下是我解决问题方法,仅供参考。
默认EditText设置warp-content就可以,但是我一直不可以,最终发现是布局有问题,因为在editText中设置了gravity="center_vertical",所以一直被截一半,导致显示不全,后来我改成了layout_gravity="center_vertical" 就可以了,这是我全部的代码,我设置了最多字数,你可以不限制
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:paddingLeft="15dp"
android:paddingRight="15dp"
android:background="@color/white">
<TextView
style="@style/style_left_title_light_color"
android:layout_width="80dp"
android:layout_height="45dp"
android:text="备注" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:gravity="right"
android:background="@color/white"
android:textSize="16dp"
android:textColor="@color/colorPayBtn"
android:textColorHint="@color/colorLightGray"
android:hint="请填写备注"
android:maxLength="50" />
</LinearLayout>
style:
<style name="style_left_title_light_color">
<item name="android:layout_height">match_parent</item>
<item name="android:gravity">center_vertical</item>
<item name="android:textSize">16dp</item>
<item name="android:textColor">@color/gray</item>
</style>
❻ Android中EditText获得焦点后马上又失去了,可能是什么造成的呢
中EditText获得焦点后马上又失去了有以下几种情况:
EditText处在一个可以滚动的控件中,例如ListView等,当得到焦点后软件键盘会弹出,这个时候滚动控件会重绘,因此会失去焦点。
EditText注册了焦点事件,得到焦点后将焦点转向了其它控件。
EditText禁止了获取焦点。
❼ Android中的EditText中,输入信息时,怎么能让光标停靠在输入的信息的右侧而不是左侧呢
先设置android:gravity="right"然后在.java程序中,在每次输出字符之后(text.setText(str);)重新设置光标位置:text.setSelection(str.length());
❽ android EditText hint的位置设置
EditText文本的位置设置是通过gravity属性来设置的
android:gravity="right" 表示右边
可选值:
left 左边
right右边
top上边
botton下边
center居中
多个值可以同时使用,例如: android:gravity="top|right" 表示右上