AdvancedTextView

这是一个增强的TextView库。可以实现文字的两端对齐,文字竖排,以及自定义的弹出菜单。

具体介绍请移步博客:

本库目前提供两个控件 SelectableTextView 和 VerticalTexview。

1. SelectableTextView

在布局中引用:

android:id="@+id/ctv_content"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_margin="10dp"

android:background="#FDFBF8"

android:lineSpacingMultiplier="1.5"

android:padding="5dp"

android:textColor="#808080"

android:textSize="16sp"

app:forbiddenActionMenu="false"                     // 是否禁用自定义ActionMenu

app:textHeightColor="@color/colorAccent"            // 文本高亮色

app:textJustify="false" />                          // 是否启用两端对齐

也可以在代码中设置:

selectableTextView.setTextJustify(true); // 是否启用两端对齐 默认启用

selectableTextView.setForbiddenActionMenu(false);         // 是否禁用自定义ActionMenu 默认启用

selectableTextView.setTextHighlightColor(0xff48543e); // 文本高亮色

注意:在代码中调用上述三个方法后需要 调用 inviladite() 或 postInviladite()方法通知View重绘

设置ActionMenu菜单点击监听:

selectableTextView.setCustomActionMenuCallBack(new CustomActionMenuCallBack() {

@Override

public boolean onCreateCustomActionMenu(ActionMenu menu) {

menu.setActionMenuBgColor(0xff666666); // ActionMenu背景色

menu.setMenuItemTextColor(0xffffffff); // ActionMenu文字颜色

List titleList = new ArrayList<>();

titleList.add("翻译");

titleList.add("分享");

titleList.add("分享");

menu.addCustomMenuItem(titleList); // 添加菜单

return false; // 返回false,保留默认菜单(全选/复制);返回true,移除默认菜单

}

@Override

public void onCustomActionItemClicked(String itemTitle, String selectedContent) {

Toast.makeText(this, "ActionMenu: " + itemTitle, Toast.LENGTH_SHORT).show();

}

});

2. VerticalTextView

在布局中引用:

android:id="@+id/vtv_text_ltr"

android:layout_width="wrap_content"

android:layout_height="match_parent"

android:background="#FDFBF8"

android:gravity="center"

android:padding="15dp"

android:textColor="#808080"

android:textSize="16sp"

app:charSpacingExtra="2dp" // 字符间距

app:lineSpacingExtra="15dp" // 行间距

app:showActionMenu="true" // 是否开启ActionMenu,默认关闭

app:textLeftToRight="true" // 文字是否从左向右排版,默认从右向左排版

app:underLineText="true" // 是否显示下划线,默认不显示

app:underLineColor="#CEAD53" // 下划线颜色

app:underLineWidth="2.5" // 下划线线宽

app:textHeightLightColor="@color/colorAccent" // 选中文字高亮色

app:underlineOffset="3dp" /> // 下划线偏移量

在代码中设置:

vtv_text_ltr.setLeftToRight(true) // 文字是否从左向右排版,默认从右向左排版

.setLineSpacingExtra(10) // 行间距

.setCharSpacingExtra(2) // 字符间距

.setUnderLineText(true) // 是否显示下划线,默认不显示

.setShowActionMenu(true) // 是否开启ActionMenu,默认关闭

.setUnderLineColor(0xffCEAD53) // 下划线颜色

.setUnderLineWidth(1.0f) // 下划线线宽

.setUnderLineOffset(3) // 下划线偏移量

.setTextHighlightColor(0xffCEAD53) // 选中文字高亮色

.setCustomActionMenuCallBack(this); // ActionMenu菜单点击监听

注意:在代码中调用上述方法后需要 调用 requestLayout()方法通知View重新布局

设置ActionMenu菜单点击监听和SelectableTextView一样。

android 横向竖排文字,GitHub - tung666/AdvancedTextView: 一个增强的TextView库。可以实现文字两端对齐,文字竖排,以及自定义选择文字后的弹出菜单。...相关推荐

  1. 教你如何创建类似QQ的android弹出菜单

    热心推荐: Android  ListView两种长按弹出菜单方式 popupwindow实现弹出菜单效果 Android人才招聘--最新招聘 大家可能看到 android 的自带的系统菜单比较难看, ...

  2. android一天一次弹窗,Android自定义Toast,多次弹出时取消上次弹出,最后一次弹出为准...

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. Android的Toast用队列管理弹出的消息,这个自定义的Toast用于频繁弹出Toas ...

  3. 【转载】Android之用PopupWindow实现弹出菜单

    在使用UC-WebBrowser时,你会发现它的弹出菜单跟系统自带的菜单不一样.它实现更多菜单选项的显示和分栏.其实,它的本身是PopupWindow或者是AlertDialog对话框,在里面添加两个 ...

  4. Android仿Qzone底部导航栏加号弹出菜单

    最近看到QQ空间 新浪微博-.好多应用底部导航栏都有加号点击弹出菜单,于是就写了一个demo,来给没做过这个功能的小伙伴一个参考,希望对大家有所帮助,demo中的图片均来源于Qzone 仅作为学习交流 ...

  5. 仿闲鱼 底部菜单html,GitHub - 494293346/rotateMenu: 仿闲鱼首页,“底部加号弹出菜单选项” 界面,动画效果可能跟闲鱼有点不一样...

    rotateMenu 仿闲鱼首页,"底部加号弹出菜单选项" 界面,动画效果可能跟闲鱼有点不一样 ##简介 仿闲鱼首页,"底部加号弹出菜单选项" 界面,动画效果可 ...

  6. android qq右上加号,仿QQ空间点击加号弹出菜单特效

    最近项目需要,前几天写了一个仿微信相册(包括编辑相册)功能,审核代码的时候发现同事要实现一个类似仿QQ空间点击加号弹出菜单特效,于是看了一些他的代码,我发现虽然他实现了功能,但是不够完善,所以我又花了 ...

  7. Android的Toolbar(含溢出菜单设置[弹出菜单的使用])的使用PopMenu的样式

    工作内容: Toolbar(含溢出菜单设置[弹出菜单的使用])的使用 学习分享: Toolbar的使用前提:设置主题 <style name="AppTheme" paren ...

  8. [Android] 底部菜单布局+PopupWindows实现弹出菜单功能(初级篇)

        这篇文章主要是自己研究如何对底部菜单进行布局,并简单的实现点击不同"按钮"实现图片切换和背景切换的功能,最后通过PopupWindows实现弹出菜单,点击不同按钮能实现不同 ...

  9. Android开发——菜单(Menu)-——上下文菜单(ContextMenu)、 弹出菜单(PopupMenu)

    上下文菜单(ContextMenu) 长按某个view不放,就会在屏幕中间弹出ContextMenu. 一个Activity中间只可能有一个OptionMenu,但一个Activity中间有多个Vie ...

  10. Android自定义弹出菜单+动画实现

    看到网上一个Demo里面弹出菜单的动画效果很好看,自己就利用工作空余时间也写了一下.具体实现如下: 1 自定义一个显示Icon的ImageView,主要用来判断该ImageView是否需要放在父布局底 ...

最新文章

  1. 008_tracker.conf配置详情
  2. 【C++】__gcd(x,y)函数
  3. BZOJ 1146: [CTSC2008]网络管理Network( 树链剖分 + 树状数组套主席树 )
  4. 【数据结构笔记45】通过中间步骤区分简单插入排序和归并排序
  5. LPC1788---串口设置
  6. 金仓数据库KingbaseES之自增列
  7. VBS以强制启用宏的方式打开EXCEL文件,无视用户设置
  8. 数学管理联考-无限循环小数如何转化为分数
  9. Android 常用框架大全
  10. mysql编译器安卓版_手机在线编译器
  11. 阿里系产品Xposed Hook检测机制原理分析
  12. Android 圆形头像的两种实现方式
  13. Could not retrieve mirrorlist
  14. excel下拉表格复制公式不自动递增
  15. 高度自适应布局 flew伸缩布局
  16. Java中的强制类型转换
  17. 数字IC后端流程——(二)布局规划Floorplan
  18. 中国IT女性生存状态写实(转)
  19. Go Flag使用教程
  20. 只有我一个人对ChatGPT感到蕉绿吗?

热门文章

  1. 浅析API网关——Ocelot[网关]+Consul[服务发现负载均衡]+Polly[服务熔断]+Ids4[服务认证]
  2. 基于新浪微博的男女性择偶观数据分析(下)
  3. NLP太卷,我去研究蛋白质了~
  4. Qt自定义控件--QQ表情
  5. pytorch动态调整学习率之Poly策略
  6. MOSS系列之三列表和文档库[转帖]
  7. PAT 乙级1068 万绿丛中一点红(20 分)
  8. 亲爱的,对不起,我要和别人结婚了
  9. 投入产出与投入占用产出技术在经济分析中的应用(指标计算和投入产出分析)...
  10. 汇编指令条件标志判断小记(OF,CF,SF,ZF)