【问题标题】:Could I write text vertically as in japanese script, is it possible at all?我可以像用日文那样垂直书写文字吗?有可能吗?
【发布时间】:2011-08-03 18:04:08
【问题描述】:

我想垂直书写文本,但不想旋转 - 示例:

H
e
l
l
o

这可以在 android 中以某种特定方式完成,还是我应该在单词的每个字母后添加一个新行?

【问题讨论】:

标签: android text writing


【解决方案1】:

如果你只写一些东西,让每个字母单独一行可能会更容易。您可以在每个字符后使用/n 将每个字母移动到不同的行。我不熟悉一种不旋转的方法,除非你制作一个每行只能容纳一个字母的垂直文本视图(宽度 = 非常小)

如果您有兴趣这样做,这篇旧的 SO 帖子可能会给您更多的见解。 (确实涉及旋转)

Write Vertical on Canvas

本教程链接到上述 SO 帖子

Tutorial

【讨论】:

  • 所以现在有其他方法,我应该添加一个新行!?? 10x
  • @nenito 我所知道的一无所知(接受非常小的宽度并使 textview 垂直:),我确信其他人会参与进来。
【解决方案2】:

如果您不反对 JavaScript 后处理,这将满足您的需求:

<html>      
<head> 
   <title>Vertical Text</title>
   <style>
   .vert { 
      width: 0;
      display: inline-block;
   }
   </style>   
</head>
<body>
<span class="vert">this is a test</span> 
<script type="text/javascript">
   (function (d) {
      var s = d.getElementsByTagName('SPAN');  
      for (var i = 0, n = s.length; i < n; i = i + 1) {  
         if (s[i].className === 'vert') {  
            var h = s[i].innerHTML; 
            var t = '';
            for (var j = 0, k = h.length; j < k; j = j + 1) { 
               if (h[j] === ' ') {   
                  t = t + '&nbsp;'
               } else {
                  t = t + h[j];
               }     
               if (j < k - 1) { 
                  t = t + ' ';
               }   
            }
            s[i].innerHTML = t;
         }
      }
   }(document));  
</script>  
</body>
</html>

【讨论】:

    猜你喜欢
    • 2018-06-16
    • 2023-03-25
    • 2013-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-01
    • 2012-04-20
    • 2011-01-10
    相关资源
    最近更新 更多