跑马灯、短信与反射EditText

1.1、跑马灯功能

Android自带支持跑马灯功能,实现此功能需要设置已下属性:

android:ellipsize="marquee" // 必选,跑马灯样式

android:marqueeRepeatLimit="" // 可选()无限重复

android:singleLine="true" // 单行(多行则设置跑马灯无意义)

注:EditText有此属性,但不支持。TextView要实现跑马灯此功能需要获得焦点(可自定义一个类继承TextView,重新isFocused方法返回值设置为true即可

 

1.2、发送短信

添加权限--》 获取SmsManager ---》 发送短信(短信过长分条发送)

1、SEND_MSG;

2、SmsManager.getDefault();

3、List<String> ms = smsManager.divideMessage(待发送内容);

   sendTextMessage(手机号, 服务台地址, 发送内容, 是否发送成功,是否接收成功);

1.3EditText屏蔽输入法

反射源码内容:

void setNotShowSoftInputOnFocu(EditText editText) {

    if (android.os.Build.VERSION.SDK_INT <= 10) {  

     editText.setInputType(InputType.TYPE_NULL);  

          }else{

            getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);  

            try {  

                Class<EditText> cls = EditText.class;  

                Method setShowSoftInputOnFocus;  

                setShowSoftInputOnFocus = cls.getMethod("setShowSoftInputOnFocus",  boolean.class);  

                setShowSoftInputOnFocus.setAccessible(true);  

                setShowSoftInputOnFocus.invoke(editText, false);  

            } catch (Exception e) {

                e.printStackTrace();  

            }   

        }  

}
原文地址:https://www.cnblogs.com/xiaosw/p/3527436.html