Android中用webView来解决文字排版实现两端分散对齐的方式

        在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文件中的这段文字里面,在发的后面添加一个空格键(这个空格键不是转义字符)这样就解决了。效果如图:

如果有同行有找到更好的解决方法,希望能在下面评论分享一下!

猜你喜欢

转载自blog.csdn.net/u013560890/article/details/38684557