Android - 实现两端对齐的文字排版

要实现Android两端对齐的文字排版效果,我们当然可以继承原有的TextView来实现,但一个更简单的方式就是使用WebView,利用HTML样式来实现。

首先定义一个String常量,我们可以将它视为一个HTML模板:

private static final String WEBVIEW_CONTENT = "<html><head></head><body style=\"text-align:justify;margin:0;\">%s</body></html>";

接下来在Layout文件中定义WebView:

<WebView
   android:id="@+id/webview"
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:background="@android:color/transparent" />

最后在Activity中:

WebView webView = (WebView)findViewById(R.id.webview);
webView.setVerticalScrollBarEnabled(false);
webView.loadData(String.format(WEBVIEW_CONTENT, yourContent, "text/html", "utf-8");
时间: 2024-12-29 10:25:48

Android - 实现两端对齐的文字排版的相关文章

Android TextView两端对齐

Android中的TextView控件默认是做不到两端对齐的,都是左对齐.可能的原因是安卓默认数字.字母不能为第一行以后每行的开头字符,因为数字.字母为半角字符,还有就是文字中的英文字符占用1个字节,而一个汉字占用两个字节.下面我就介绍下实现两端对齐的原理: 1.测量一个中文汉字所占用的宽度 2.根据TextView的宽度和一个汉字所占用的宽度以及字符之间的间隔计算出总行数. 3.根据padding和margin以及行高计算出TextView的总高度. 4.绘制每一行的每一个字符 效果如下: 具

Android TextView自己主动换行文字排版參差不齐的原因

今天项目没什么进展,公司后台出问题了.看了下刚刚学习Android时的笔记,发现TextView会自己主动换行,并且排版文字參差不齐.查了下资料,总结原因例如以下: 1.半角字符与全角字符混乱所致:这样的情况一般就是汉字与数字.英文字母混用 解决方法一: 将textview中的字符全角化.即将所有的数字.字母及标点所有转为全角字符,使它们与汉字同占两个字节,这样就能够避免因为占位导致的排版混乱问题了. 半角转为全角的代码例如以下,仅仅需调用就可以. public static String To

HTML,文字两端对齐

text-align: justify样式的意思是文字两端对齐,但是有时候你会发现这东西不起左右,比如在div标签中的文字. 解决方法:在div中放一个空的span标签,并使用下面的样式. .justify        {            text-align: justify;            width: 100px;        }        .justify > span        {            display: inline-block /* Ope

可用的CSS文字两端对齐

最近在工作项目中接触到Web界面设计的问题,要实现文字两端对齐的效果.在网上搜索了一下,用的都是类似的技巧: text-align:justify;text-justify:inter-ideograph; 我遇到问题是:看不到效果,无论是英文还是中文,在IE和chrome下都不起作用.还好在StackOverflow上找到了解决方法 :) 样式: 1 div.justify 2 { 3 text-align: justify; width:200px; font-size:15px; colo

实现段落文字两端对齐的css样式

有时候网站中的文字比较多,虽然为父元素设置了宽度,但是总是会出现两端参差不齐的情况,看起来不整齐.其实实现段落的两端对齐,只需要设置两个css 样式即可. .demo{ text-align: justify; text-justify: inter-ideograph;/*IE*/ } text-justify基本语法 语法:text-justify : auto |inter-word | newspaper | distribute | distribute-all-lines | int

写的一个段落标签文字内容两端对齐的代码

<!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="Generator" content="EditPlus®"> <meta name="Author" content=""> <meta name="

【】小技巧】CSS文字两端对齐

需求如下,红框所在的文字有四个字的.三个字的.两个字的,如果不两端对齐可以选择居中对齐,或者右对齐.但是如果要像下面这样两端对齐呢? 我相信以前很多人都这么干过:两个字中间使用 来隔开达到四个字的宽度,三个字也可以,但是,像上图中“122账号”“122密码”这样的,就不好计算该用几个空格了. 假如我们有如下HTML: <div>这世间唯有梦想和好姑娘不可辜负!</div> 给它加点样式 div{ width:500px; border:1px solid red; text-ali

解决android自带textview右侧文字不能对齐的问题

1 package com.sixin.view; 2 3 import android.content.Context; 4 import android.graphics.Canvas; 5 import android.text.Layout; 6 import android.text.StaticLayout; 7 import android.text.TextPaint; 8 import android.util.AttributeSet; 9 import android.wi

如何实现文字两端对齐?

输入框左侧的文字有时候长度不一致 ,但是文字无论左对齐还是右对齐都不好看,如下图所示: 但是两端对齐就会和谐很多,如下图: 实现两端对齐方只需一行代码:text-align-last: justify; 原文地址:https://www.cnblogs.com/hj0711/p/9203080.html