• 【Android】Android部分问题记录


    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         // sdk
    10         // 对应关系表,见http://developer.android.com/guide/topics/manifest/uses-sdk-element.html
    11         if (android.os.Build.VERSION.SDK_INT >= 12) {// Android 3.1.x  API12
    12                                                         // HONEYCOMB_MR1
    13             String filedNameString = "mCursorDrawableRes";
    14             // mCursorDrawableRes
    15             Class<? extends EditText> editTextClass = editText.getClass();
    16             Class<? extends TextView> textViewClass = null;
    17             if (editTextClass != null) {
    18                 textViewClass = (Class<? extends TextView>) editTextClass
    19                         .getSuperclass();
    20             }
    21             if (textViewClass != null) {
    22                 Field mCursorDrawableField = null;
    23                 try {
    24                     mCursorDrawableField = textViewClass
    25                             .getDeclaredField(filedNameString);
    26                 } catch (NoSuchFieldException e) {
    27                     // TODO Auto-generated catch block
    28                     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

  • 相关阅读:
    maven学习
    存储过程的作用
    数据库优化
    Springmvc整合mybatis
    Spring Mvc简介
    Axis2开发实例
    Mybatis之typeAlias配置的3种方法
    Spring AOP教程及实例
    spring AOP底层原理实现——jdk动态代理
    Java实现动态代理的两种方式
  • 原文地址:https://www.cnblogs.com/waylife/p/3517176.html
Copyright © 2020-2023  润新知