在android由于TextView中是没有让文本两端对齐的这个属性,如果遇到一些文章是中英文混排的就会出现问题了,因为英文的是占一个字节位置而中文的话是占两个字节的位置,这样子的话就会出现问题,出现参差不齐的现象,所以就需要进行排版。之前有在github上找到有关通过java代码来实现文字排版的包。但通过实践过后效果不佳。所以就选用了现在的这种webview的方式来读取。
xml文件中的代码,添加一个WebView标签
<WebView
android:id="@+id/about_version"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="30dp" />
java文件中 代码
versionwv = (WebView) findViewById(R.id.about_version); //获取webview的id
versionwv.setVerticalScrollBarEnabled(false); //这个是设置让滚动条不能使用的方法
versionwv.loadDataWithBaseURL("", getString(R.string.about_content1), "text/html", "utf-8",""); //这个方法是将string文件中的对应id的文本用html的形式load进来的方法
string文件中的代码 ,这里的话只是使用了一些简单的css属性,“text-align:justify”让段落两端分散对齐,并且“text-indent:2em”让其首行缩进两个字其余的都是一些背景颜色设置"background-color:#F5F5F5"、字体大小及颜色设置“font-size:16px;color:#323232”
<string name="about_content1">
<![CDATA[
<html>
<head></head>
<body style="background-color:#F5F5F5;">
<p style="text-align:justify;font-size:16px;color:#323232;text-indent:2em;">Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致 ”。Android操作系统最初由AndyRubin开发 ,主要支持手机。</p>
</body>
</html>
]]>
</string>
注意:由于android是会自动识别如果一行中最后一个文字后面如果带有一个字符的话,那个字就会被带到下一行,如下图:
解决方法:要在String文件中的这段文字里面,在发的后面添加一个空格键(这个空格键不是转义字符)这样就解决了。效果如图:
如果有同行有找到更好的解决方法,希望能在下面评论分享一下!