如何让Label的文字自动滚动?

2023-12-10

我有一个按钮,我想要在其中添加一些文本,但某些文本可能太长,无法很好地放入按钮中。我想让文本在一行中水平滚动,就像 HTML 中的选取框一样。我可以让它滚动一行,但是,测试文本在按钮边缘被切断,并且那里的文本实际上会移出按钮,而不是在按钮边缘消失。

我已经用谷歌搜索了我的问题的答案,几个小时后,我认为是时候问我的问题了。

<Grid HeightRequest="400" Grid.Column="0" Grid.Row="0" >
    <Grid.RowDefinitions>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
        <RowDefinition Height="*"/>
    </Grid.RowDefinitions>
    <Grid.ColumnDefinitions>
        <ColumnDefinition Width="*"/>
    </Grid.ColumnDefinitions>

    <Button BackgroundColor="#006633" Opacity="0.7" Grid.RowSpan="3" Grid.ColumnSpan="1">

    </Button>
    <Label x:Name="Label1" StyleClass="button" Grid.Row="1" Grid.Column="0" >

    </Label>
</Grid>

public void Marque1()
{
    Label1.Text = "This is to simulate a really long sentence for testing purposes";
    Label1.HorizontalOptions = LayoutOptions.Start;
    Label1.VerticalTextAlignment = TextAlignment.Center;
    Label1.LineBreakMode = LineBreakMode.NoWrap;

    Label1.TranslateTo(-50, 0, 8000, Easing.Linear);
}

我希望整个文本从右向左移动并重复,并且不离开按钮的边界。


你可以检查一下,是不是你需要的效果:

public partial class MaqueText : ContentPage
{
    private bool Execute { get; set; }
    public MaqueText ()
    {
        InitializeComponent ();
        Label1.Text = "This is to simulate a really long sentence for testing purposes";
        Label1.HorizontalOptions = LayoutOptions.Start;
        Label1.VerticalTextAlignment = TextAlignment.Center;
        Label1.LineBreakMode = LineBreakMode.NoWrap;
    }
    protected override void OnAppearing()
    {
        base.OnAppearing();
        Execute = true;

        Device.StartTimer(TimeSpan.FromMilliseconds(50), () =>
        {
            Label1.TranslationX -= 5f;

            if (Math.Abs(Label1.TranslationX) > Width)
            {
                Label1.TranslationX = Label1.Width;
            }

            return Execute;
        });
    }
    protected override void OnDisappearing()
    {
        base.OnDisappearing();

        Execute = false;
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让Label的文字自动滚动? 的相关文章

随机推荐

  • PHPcurl_setopt() CURLOPT_PROGRESSFUNCTION

    我看到在curl setopt 文档您可以设置回调函数来显示curl exec的进度 回调函数如何使用就不多说了 有人知道吗 我只想输出已下载到 STDOUT 的文件的百分比 谢谢 这就是回调在 C 中的样子 typedef int cur
  • UDP 打洞主机特定故障

    我编写了一个设置点对点链接的程序 该程序可以在以下位置找到 http basyl co uk code punch doc files Readme txt html 分为两部分 运行在公共主机上的服务器 以及所需对等链路每一端使用的客户端
  • 如何使用谷歌脚本将详细信息表复制到另一个电子表格

    情况 我有一个包含 10 个工作表的电子表格 有 15 个用户登录并修改它 我只想从其他电子表格中复制 6 张表格 需要的脚本函数 该脚本应该将工作表复制到另一个特定的电子表格中 1 来源 XXXXXX 我只想从源将 Sheets1 2 3
  • 如何以编程方式用 CoreData 行填充 NSArrayController?

    经过几个小时 几天的搜索和深入研究示例项目后 我得出的结论是我需要问一下 如果我绑定 assetView IKImageBrowserView 直接到 IB 实例NSArrayController一切都很好 void awakeFromNi
  • 在 Perl 中成功匹配正则表达式后,如何访问捕获的子字符串?

    我正在 Perl 中搜索一个字符串并将其存储在另一个标量变量中 我想打印这个标量变量 下面的代码似乎不起作用 我不确定出了什么问题以及正确的解决方法是什么 为什么程序中不存在它却打印 1 正在运行的数据 DATA 13 E 0 496 gt
  • 在 MySQL 中按某些列排序以及按 rand() 排序

    是否可以按某些列以及 RAND 对结果集进行排序 例如 SELECT a b c FROM table ORDER BY a DESC RAND LIMIT 0 10 谢谢 你正在做的事情是有效的 它将按降序排列结果a但随机化关系的顺序 但
  • java.library.path 中缺少文件

    在从 openni 编译演示时 我偶然发现了这个错误 Exception in thread main java lang UnsatisfiedLinkError no OpenNI jni in java library path at
  • BASH:搜索字符串并准确显示子字符串在其中出现的确切次数

    我已经搜索遍了 但仍然找不到这个简单的答案 我确信这很容易 如果您知道如何完成此操作 请提供帮助 样本 txt 是 AAAAA 我想找到组合 AAA 发生的确切时间 如果你只是使用例如 grep o AAA sample txt wc l
  • 如何将此方法作为扩展方法添加到我的类的属性中?

    我有一个方法 我想将此方法作为扩展方法添加到我的类的属性中 该方法给出一个表达式作为输入参数 方法如下 public static string GetPropertyName
  • 修改 Google App Engine 端点 (Android) 中的 HTTP 标头

    我想将自定义标头添加到发送到端点的 HTTP 包中 我读到我可以在 Endpoint 方法中访问原始 HTTP 数据 通过添加 HttpServletRequest 参数 我正在寻找的是一种解决方案 或黑客 来访问和修改 Android 客
  • C:strtok_r的正确用法

    如何使用 strtok r 而不是 strtok 来执行此操作 char pchE strtok NULL 现在我正在尝试使用strtok r正确 但有时我会遇到问题strtol 我有一个线程 同时 执行 10 次 char savedEn
  • 修改传递给函数的列表切片

    是否可以将列表的切片传递到函数中并通过切片修改列表 这似乎不起作用 def foo a list a list 0 abc x 1 2 3 4 foo x 0 2 我希望 x 现在是 x abc 2 3 4 不 您所描述的意义上的 列表切片
  • IKImageView 和滚动条

    我正在尝试使用苹果提供的 IKImageViewDemo http developer apple com mac library samplecode IKImageViewDemo index html 并且我正在尝试向其添加滚动条 我
  • Selenium、Nunit 最佳实践? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我想了解更多有关如何使用
  • 当内容高度可变时,列表框滚动条滑块会更改大小

    我有一个显示许多对象的列表框 每个对象的高度都可以是可变的 具体取决于每个对象具有的值的数量 请参阅我之前在这里回答的问题 许多对象是 5 行高 而其他对象是 1 行 ListBox 中的滚动条看起来并不像这样 可能是由于虚拟化的原因 当你
  • PropertiesConfiguration - 在属性值中使用“/”

    我正在使用 PropertiesConfiguration 来加载和存储属性值 如果我在属性值中使用字符 它将保存为 你能帮我只保存 而不是 吗 我在这里错过了什么吗 PropertiesConfiguration databaseProp
  • 如何在 expression() 中使用 atop 函数?

    我需要添加换行符 但我正在努力使用 atop 函数expression The main是我想分成两行的部分 gt plot DAC Chlo data brazilw pch 15 col red cex 0 5 main express
  • 如何在Xamarin.Forms中调整水平ListView的大小?

    I see 这个条目尝试一下 是的 滚动方向变成水平的 但是 视图的大小不会根据视图的轮廓进行调整 结果是这样的 即使视图旋转 如何调整视图的大小 您可以使用相对布局来调整位置 这是我使用旋转垂直列表视图实现的水平列表视图的 XAML 示例
  • R 中每日两次频率的时间序列

    我有一些来自传感器的数据 每 12 小时进行一次观测 我想将其作为时间序列进行分析 但我不确定使用什么频率将其转换为时间序列 这ts函数需要开始 结束和频率 ts data start 1 end numeric frequency 1 我
  • 如何让Label的文字自动滚动?

    我有一个按钮 我想要在其中添加一些文本 但某些文本可能太长 无法很好地放入按钮中 我想让文本在一行中水平滚动 就像 HTML 中的选取框一样 我可以让它滚动一行 但是 测试文本在按钮边缘被切断 并且那里的文本实际上会移出按钮 而不是在按钮边