不断学习,做更好的自己!💪
视频号CSDN简书欢迎打开微信,关注我的视频号:KevinDev点我点我 简介使 TextView 能自动识别 URL、电话、邮箱地址,相比 TextView 有以下特点:
- 可以设置链接的样式。
- 可以设置链接的点击事件。
qmui
-
引入库 请确保配置了 JCenter 仓库源,然后直接引用: implementation
"com.qmuiteam:qmui:2.0.0-alpha10"
至此,QMUI 已被引入项目中。 -
配置主题 把项目的 theme 的 parent 指向 QMUI.Compat,至此,QMUI 可以正常工作。
1. 布局文件
2. QDLinkTextViewActivity.java
public class QDLinkTextViewActivity extends BaseActivity {
@BindView(R.id.topbar)
QMUITopBar mTopBar;
@BindView(R.id.link_text_view)
QMUILinkTextView mLinkTextView;
@Override
protected int getLayoutId() {
return R.layout.activity_qdlink_text_view;
}
@Override
protected void initView() {
initTopBar();
mLinkTextView.setOnLinkClickListener(mOnLinkClickListener);
mLinkTextView.setOnLinkLongClickListener(new QMUILinkTextView.OnLinkLongClickListener() {
@Override
public void onLongClick(String text) {
Toast.makeText(App.CONTEXT, "long click: " + text, Toast.LENGTH_SHORT).show();
}
});
mLinkTextView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(App.CONTEXT, "click TextView", Toast.LENGTH_SHORT).show();
}
});
}
private void initTopBar() {
mTopBar.setTitle("QMUILinkTextView");
mTopBar.addLeftBackImageButton().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
finish();
}
});
}
private QMUILinkTextView.OnLinkClickListener mOnLinkClickListener = new QMUILinkTextView.OnLinkClickListener() {
@Override
public void onTelLinkClick(String phoneNumber) {
Toast.makeText(App.CONTEXT, "识别到电话号码是:" + phoneNumber, Toast.LENGTH_SHORT).show();
}
@Override
public void onMailLinkClick(String mailAddress) {
Toast.makeText(App.CONTEXT, "识别到邮件地址是:" + mailAddress, Toast.LENGTH_SHORT).show();
}
@Override
public void onWebUrlLinkClick(String url) {
Toast.makeText(App.CONTEXT, "识别到网页链接是:" + url, Toast.LENGTH_SHORT).show();
}
};
}