微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如果更长,则强制居中对齐的文本左对齐

如何解决如果更长,则强制居中对齐的文本左对齐

一个 text 部分,基本上居中对齐。

text { "elm.text";
            scale: 1; 
            clip_to: "elm.clipper";
            desc { "default";
               visible: 1;
               rel1.to: "elm.clipper";
               rel2.to: "elm.clipper";
               align: 0 0.5; //NOT WORKING
               text {
                  text: "elm.text very very very long";
                  size: 24;
                  align: 0.5 0.5;
                  ellipsis: -1;
               }       
            }

居中对齐有效,但如果文本比容器长,我希望该文本左对齐。

我不想使用 min,因为它会破坏我的布局。

我也不想使用任何脚本,因为它会破坏用户体验。

我可以选择快速解决这个问题吗?

解决方法

有什么理由不使用省略号吗?

我认为,省略号:0;是最简单的方法。

如果不是,则需要创建另一个状态并根据情况进行STATE_SET。

     text { "elm.text";
        scale;
        clip_to: "elm.clipper";
        desc { "default";
           vis;
           rel.to: "elm.clipper";
           align: 0.0 0.5;
           text {
              text: "elm.text text"; // for short text
              size: 24;
              align: 0.5 0.5;
              ellipsis: 0;
           }
        }
        desc { "left_align"; // for long text
           inherit: "default" 0.0;
           text.align: 0.0 0.5;
        }
     }
,

我认为你应该使用脚本。

但你不想要它。对吗?

我不知道其他任何方法,但我会在下面分享方法。

首先设置“min:1 1;”到文本(文本部分随着文本的长度增加。)

in script :
      public text_len = 0;
      public clipper_len = 0;

      ...
      public set_align() {
         new x,y,w,h;
         get_geometry(PART:"elm.text",x,h);
         set_int(text_len,w);
         get_geometry(PART:"elm.clipper",h);
         set_int(clipper_len,w);

         if (get_int(text_len) > get_int(clipper_len)) {
            run_program(PROGRAM:"set_left");
         }
         else {
            run_program(PROGRAM:"set_center");
         }
      }

同样的逻辑可以用c代码实现,但可能更复杂。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?