android TextView autolink的用法——自动识别电话|网址|邮件

1. 通用的方法

textView.setAutoLinkMask(Linkify.ALL);
或者在xml布局文件中 android:autoLink=”all”

2. 带正则式的识别方法,超过五位数字默认为手机号

Pattern pattern = Pattern.compile(“\\d{5,}”);
Linkify.addLinks(mTv_kuaibao, pattern, “tel:”);
最后:防止点击事件冲突,在TextView的根部局中加入
android:descendantFocusability=”blocksDescendants”

3. 只自动识别电话

android:autoLink=”phone”

4. 只自动识别网址

android:autoLink=”web”

android postDelayed

这是一种可以创建多线程消息的函数
使用方法:
1. 首先创建一个Handler对象
Handler handler=new Handler();

2. 然后创建一个Runnable对象
Runnable runnable=new Runnable(){
@Override
public void run() {
// TODO Auto-generated method stub
//要做的事情,这里再次调用此Runnable对象,以实现每两秒实现一次的定时器操作
handler.postDelayed(this, 2000);
}
};

3. 使用PostDelayed方法,两秒后调用此Runnable对象
handler.postDelayed(runnable, 2000);
实际上也就实现了一个2s的一个定时器

4. 如果想要关闭此定时器,可以这样操作
handler.removeCallbacks(runnable);

当然,你也可以做一个闹钟提醒延时的函数试试,比如,先用MediaPlayer播放闹钟声音,
如果不想起,被停止播放之后,下次就5分钟后再播放,再被停止的话,下次就4分钟后播放,
………………
只要更改延时的时间就可以实现了,用一个static对象的话会比较容易操作。

是可以异步效果,但Runnable的执行是在Handler对象所在的线程
如果其所在的线程是UI线程的话,Runnable中还是不能执行耗时操作,不然会ANR
前几天我们自己的设备很卡,卡到跳转界面都需要不到1秒的时间,我就把跳转的动作放在Runnable里边,外边加上弹出进度提示框

注:举例说明

public class XXX extends Activity

{
    @Override
    public void onCreate(Bundle savedInstanceState)

    {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.loading); // 显示第1屏
        Handler handler = new Handler();
        handler.postDelayed(new splashhandler(), 2000); // 延迟2秒,再运行splashhandler的run()
    }

    class splashhandler implements Runnable

     {
        public void run()

       {
            startActivity(new Intent(getApplication(),  SecondActivity.class)); // 显示第2屏
            XXX.this.finish();   // 结束第1屏
        }
    }
}

Android setTextSize

在帮TextView控件设置大小的时候,发现和在XML中用PX设置的不一样,原因是setTextSize()默认的单位是sp,可以用另一个设置字体大小的方法:

setTextSize(int unit, int size)

第一个参数可设置如下静态变量:

TypedValue.COMPLEX_UNIT_PX : Pixels
TypedValue.COMPLEX_UNIT_SP : Scaled Pixels
TypedValue.COMPLEX_UNIT_DIP : Device Independent Pixels

Android安卓平台上网页WebView中全屏横屏播放html5视频的实现

可以实现在WebView中全屏横屏播放html5视频,但是没办法播放的时候直接进入全屏,因为监听不到播放事件。如果有兴趣可以考虑使用点击事件的监听来曲线救国。

继续阅读“Android安卓平台上网页WebView中全屏横屏播放html5视频的实现”

Android分享对话框实现,Android7.0之后状态栏着色解决——主题(Theme)的正确玩法

现象

根本原因是BaseActivity基类中,进行了状态栏着色,代码如下: 继续阅读“Android分享对话框实现,Android7.0之后状态栏着色解决——主题(Theme)的正确玩法”