Skip to content

仿微博输入框,支持话题,好友,超链接富文本输入及显示,支持表情框

Notifications You must be signed in to change notification settings

APLK/RichTextView

Folders and files

NameName
Last commit message
Last commit date

Latest commit

c1d37d9 · Apr 16, 2018

History

3 Commits
Apr 16, 2018
Apr 16, 2018
Apr 16, 2018
Apr 16, 2018
Apr 16, 2018
Apr 16, 2018
Apr 16, 2018
Apr 16, 2018

Repository files navigation

RichTextView

仿微博输入框,支持话题,艾特好友,超链接富文本输入及显示,支持表情框输入,表情使用文字替换显示

1.RichEditText使用方法:

在布局文件中使用

<example.ricktextview.view.richtext.RichEditText
android:id="@+id/et_content"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_margin="5dp"
android:layout_weight="1.0"
android:background="@drawable/shape_publish_bg"
android:gravity="left"
android:hint="我也来说一说..."
android:imeOptions="actionDone"
android:padding="10dp"
android:textColor="@color/TextColorBlack"
android:textColorHint="#707070"
android:textSize="14sp"
RichEditText:richMaxLength="255"/>

在activity中设置

RichEditBuilder richEditBuilder = new RichEditBuilder();
richEditBuilder.setEditText(mEtContent)
.setTopicModels(topicList)
.setUserModels(friendList)
.setColorAtUser("#FDA129")
.setColorTopic("#FF4081")
.setEditTextAtUtilJumpListener(new OnEditTextUtilJumpListener() {
@Override
public void notifyAt() {
JumpUtil.goToUserList(MainActivity.this, MainActivity.REQUEST_USER_CODE_INPUT);
}


@Override
public void notifyTopic() {
JumpUtil.goToTopicList(MainActivity.this, MainActivity.REQUEST_TOPIC_CODE_INPUT);
}
})
.builder();

2.RichTextView使用方法

在布局文件中使用

<example.ricktextview.view.richtext.RichTextView
android:layout_below="@+id/tv1"
android:id="@+id/tv_content"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:lineSpacingExtra="15px"
android:padding="10dp"
android:textColor="@color/TextColorBlack"
android:textSize="14sp"
RichTextView:atColor="@color/hot"
RichTextView:emojiSize="18"
RichTextView:needNumberShow="true"
RichTextView:needUrlShow="true"
RichTextView:topicColor="@color/bg_bar_blue"/>

在activity中使用

mTvContent.setSpanAtUserCallBackListener(new SpanAtUserCallBack() {
@Override
public void onClick(View view, UserModel userModel1) {
Toast.makeText(MainActivity.this, userModel1.getUser_name(), Toast.LENGTH_SHORT).show();
}
});
mTvContent.setSpanTopicCallBackListener(new SpanTopicCallBack() {
@Override
public void onClick(View view, TopicModel topicModel) {
Toast.makeText(MainActivity.this, topicModel.getTopicName(), Toast.LENGTH_SHORT).show();
}
});
mTvContent.setSpanUrlCallBackListener(new SpanUrlCallBack() {
@Override
public void phone(View view, String phone) {
if (phone != null && phone.length() > 0) {
Toast.makeText(MainActivity.this, phone, Toast.LENGTH_SHORT).show();
}
}

@Override
public void url(View view, String url) {
Toast.makeText(MainActivity.this, url, Toast.LENGTH_SHORT).show();
}
});
content = "这是测试#话题话题# 文本哟 www.baidu.com " +
"来2个@某个人 @22222 @kkk " + "来2个电话 13245685478,0717225478" +
"来3个表情[发呆][眨眼][痛哭],最后随便加点超过3行的数据就行了131657848785满3行了吗?还没有满吗?这下够了吧!";
mTvContent.setMaxLines(3);
mTvContent.setEllipsize(TextUtils.TruncateAt.END);
mTvContent.setRichText(content, nameModuleList, topicModuleList);

About

仿微博输入框,支持话题,好友,超链接富文本输入及显示,支持表情框

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages