手机调用系统的拍照和裁剪功能,假设界面有输入框EditText,在一些手机会出现点击EditText会弹出输入法,却不能输入的情况。
拍照裁剪后 点击EditText会弹出输入法,却不能输入。可是点击点一EdtiText就能够输入了,所以我就写了一个看不见的EdtiText,切换焦点,这样就攻克了这个奇怪的这问题,应该是android内部的问题。
这是网络一个牛人留下的总结,可是一直没有搞明确,怎么的隐藏。
在一般手机可能没有问题,可是HTC小手机就是给发送焦点也不能使用,就是不能输入字.
<!-- 改动在HTC A510e手机拍照后裁剪图片后 出现输入不了字的bug,和功能没有关系 -->
<!-- 这是隐藏的EditText-->
<EditText
android:id="@+id/frist_et"
android:layout_width="fill_parent"
android:layout_height="10dip"
android:layout_marginLeft="5dip"
android:layout_marginTop="-10dip"
android:background="@null"
android:hint="@string/register_nick_introduction"
android:singleLine="true" />
<!-- 这是头像,点击此ImageView调用底层的拍照和裁剪功能。-->
<ImageView
android:id="@+id/personal_info_photo"
android:layout_width="96dip"
android:layout_height="96dip"
android:layout_centerHorizontal="true"
android:background="@drawable/img_avatar_default" />
这是功能须要的EditText.
<EditText
android:id="@+id/nicknameEditText"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="5dip"
android:background="@null"
android:hint="@string/register_nick_introduction"
android:singleLine="true" />
通过EditText相互交换焦点的方式来解决不能输入字的问题.
fristEt.clearFocus();
nickNameEditText.requestFocus();
fristEt.clearFocus();
nickNameEditText.requestFocus();
假设大家在项目碰到到此问题,大家能够交流一下,有更好的解决方法,谢谢!