【Android】Android部分问题记录
16lz
2021-01-23
1.EditText不显示光标
开发的时候遇到有部分手机,小米系列以及华为部分手机不显示光标。
设置EditText属性
1 android:textCursorDrawable="@null"2 android:cursorVisible="true"View Code
可参考,http://stackoverflow.com/questions/15093758/edittext-cursor-is-invisible-in-android-4-0第一个回答。
附上我自己封装的一个方法
1 private final static String TAG = "EditTextCompat"; 2 3 /** 4 * 设置光标可见 <br/> 5 * 此处为了解决部分手机(如小米、华为)无法显示光标的问题,由于编译环境为2.3,导致部分函数无法调用,此处使用反射调用<br/> 6 */ 7 public static void setCursorVisible(EditText editText, Context context) { 8 editText.setCursorVisible(true); 9 // sdk10 // 对应关系表,见http://developer.android.com/guide/topics/manifest/uses-sdk-element.html11 if (android.os.Build.VERSION.SDK_INT >= 12) {// Android 3.1.x API1212 // HONEYCOMB_MR113 String filedNameString = "mCursorDrawableRes";14 // mCursorDrawableRes15 Class<? extends EditText> editTextClass = editText.getClass();16 Class<? extends TextView> textViewClass = null;17 if (editTextClass != null) {18 textViewClass = (Class<? extends TextView>) editTextClass19 .getSuperclass();20 }21 if (textViewClass != null) {22 Field mCursorDrawableField = null;23 try {24 mCursorDrawableField = textViewClass25 .getDeclaredField(filedNameString);26 } catch (NoSuchFieldException e) {27 // TODO Auto-generated catch block28 Log.i(TAG, "NoSuchFieldException");29 e.printStackTrace();30 }31 if (mCursorDrawableField != null) {32 mCursorDrawableField.setAccessible(true);33 try {34 mCursorDrawableField.set(editText, 0);35 36 } catch (IllegalArgumentException e) {37 Log.i(TAG, "IllegalArgumentException");38 e.printStackTrace();39 } catch (NotFoundException e) {40 Log.i(TAG, "NotFoundException");41 e.printStackTrace();42 } catch (IllegalAccessException e) {43 Log.i(TAG, "IllegalAccessException");44 e.printStackTrace();45 }46 }47 48 }49 }50 }51 }View Code
2.AutoCompleteTextView在部分手机(如联想a860e)显示黑条。
见图
解决方案:在themes.xml设置一个主题,设置它的android:dropDownListViewStyle属性。
1 <style name="search_theme" parent="android:style/Theme.NoTitleBar">2 <item name="android:dropDownListViewStyle">@style/widget_dropdownlistview</item>3 </style>View Code
在styles.xml中定义下面字段。
1 <style name="widget_dropdownlistview" parent="android:style/Widget.Holo.ListView.DropDown">2 <item name="android:scrollbars">none</item>3 <item name="android:divider">@color/white</item>4 </style>View Code
对需要用到AutoCompleteTextView的Activity设置主题(AndroidManifest.xml中设置)。
然后样式就OK了。
如图
可参考http://www.apkbus.com/android-126131-1-1.html
3.Dialog在部分手机上显示黑条
设置
1 <item name="android:windowContentOverlay">@null</item>View Code
可参考。http://www.cnblogs.com/kaima/archive/2011/07/29/2121457.html
更多相关文章
- OSCHINA Android 客户端 - 手机相关软件 - 开源中国
- Android 正则表达式验证手机和邮箱格式是否正确
- android将EditText设置为只可点击 不弹出软键盘不显示光标
- android修改手机虚拟设备管理器路径
- Android 4编程入门经典—开发智能手机与平板电脑应用
- 浅析Android手机卫士读取联系人
- Android实现根据条件自动转换手机震动和响铃
- Android手机重启的核心代码
- android检查手机网络状态