最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

android 横向竖排文字,GitHub

互联网 admin 18浏览 0评论

android 横向竖排文字,GitHub

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

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一样。

发布评论

评论列表 (0)

  1. 暂无评论