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)显示黑条。

  见图

  【Android】Android部分问题记录

  解决方案:在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了。

  如图

  【Android】Android部分问题记录

可参考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

更多相关文章

  1. OSCHINA Android 客户端 - 手机相关软件 - 开源中国
  2. Android 正则表达式验证手机和邮箱格式是否正确
  3. android将EditText设置为只可点击 不弹出软键盘不显示光标
  4. android修改手机虚拟设备管理器路径
  5. Android 4编程入门经典—开发智能手机与平板电脑应用
  6. 浅析Android手机卫士读取联系人
  7. Android实现根据条件自动转换手机震动和响铃
  8. Android手机重启的核心代码
  9. android检查手机网络状态

随机推荐

  1. gcc常用命令介绍
  2. 《LINUX SHELL脚本攻略》(Sarath Lakshma
  3. Linux vsftpd安装配置使用(详细)
  4. Linux ssh(以及其他访问主机方式)登录变
  5. Linux安装maven及环境配置
  6. 铯:使用自己的OpenStreetMap服务器。:“
  7. Linux下动态链接库创建问题
  8. linux内核模块的强制删除-结束rmmod这类d
  9. WinSCP 中普通用户以 root 身份登录 Linu
  10. 使用cobbler实现批量自动部署Linux