don*_*hua 3 keyboard android android-edittext
我在我的应用程序中使用了编辑文本,我想在编辑文本聚焦时更改背景.我写了一些代码,但我遇到了一个问题.我需要两次单击编辑文本才能显示键盘.
这是我的代码:
private View.OnFocusChangeListener myEditTextFocus = new View.OnFocusChangeListener() {
public void onFocusChange(View view, boolean hasfocus) {
if (hasfocus) {
((EditText) view).setBackgroundResource(R.drawable.edittext_input_background_focus);
((EditText) view).setTextColor(Color.parseColor("#4d4d4d"));
}
else {
((EditText) view).setBackgroundResource(R.drawable.edittext_input_background_not_focus);
}
};
};
Run Code Online (Sandbox Code Playgroud)
问题是这个代码,因为我评论它,一切都很完美.我的代码出了什么问题?或者,还有其他解决方案吗?
//请遵循此代码
将这3个可绘制文件放在res/drawable文件夹中
simple_edittext.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:padding="10dp"
android:shape="rectangle" >
<solid android:color="#FFFFFF" />
<stroke
android:width="3dp"
android:color="#FB9820" />
<corners
android:bottomLeftRadius="5dp"
android:bottomRightRadius="5dp"
android:topLeftRadius="5dp"
android:topRightRadius="5dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)
focus_edittext.xml
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:padding="10dp"
android:shape="rectangle" >
<solid android:color="#58ACFA" />
<stroke
android:width="3dp"
android:color="#FB9820" />
<corners
android:bottomLeftRadius="5dp"
android:bottomRightRadius="5dp"
android:topLeftRadius="5dp"
android:topRightRadius="5dp" />
</shape>
Run Code Online (Sandbox Code Playgroud)
selector_edittext.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:drawable="@drawable/focus_edittext"/>
<item android:drawable="@drawable/simple_edittext" />
</selector>
Run Code Online (Sandbox Code Playgroud)
并使用这样的这些抽象:
<EditText
android:id="@+id/layout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:layout_marginBottom="10dp"
android:background="@drawable/selector_edittext"
android:text="@string/hello_world" />
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/layout1"
android:padding="10dp"
android:background="@drawable/selector_edittext"
android:text="@string/hello_world" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2742 次 |
| 最近记录: |