如何在Android中为长度不超过屏幕尺寸的较小文本创建跑马灯效果?

2024-01-02

我一直试图在我的应用程序中为“HELLO”一词提供选框效果,但 Android 不允许这样做,除非文本的长度超过屏幕尺寸。有解决办法吗?

PS:这看起来很简单,我还没有得到任何解决方案。


我使用了我在早期 Android 时代开发的简单的轻量级动画。

下面是完整的代码。

希望这可以帮助。

适用于 Android 的所有 API 级别

import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.graphics.Color;
import android.view.Menu;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.TranslateAnimation;
import android.widget.LinearLayout;
import android.widget.TextView;

public class MainActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        setticker("Hello", this);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }


    public  void setticker(String text, Context contx) {
        if (text != "") {
            LinearLayout parent_layout = (LinearLayout) ((Activity) contx)
                    .findViewById(R.id.ticker_area);

            TextView view = new TextView(contx);
            view.setText(text);

            view.setTextColor(Color.BLACK);
            view.setTextSize(25.0F);
            Context context = view.getContext(); // gets the context of the view

            // measures the unconstrained size of the view
            // before it is drawn in the layout
            view.measure(View.MeasureSpec.UNSPECIFIED,
                    View.MeasureSpec.UNSPECIFIED);

            // takes the unconstrained width of the view
            float width = view.getMeasuredWidth();
            float height = view.getMeasuredHeight();

            // gets the screen width
            float screenWidth = ((Activity) context).getWindowManager()
                    .getDefaultDisplay().getWidth();

            view.setLayoutParams(new LinearLayout.LayoutParams((int) width,
                    (int) height, 1f));

            System.out.println("width and screenwidth are" + width + "/"
                    + screenWidth + "///" + view.getMeasuredWidth());

            // performs the calculation
            float toXDelta = width - (screenWidth - 0);

            // sets toXDelta to -300 if the text width is smaller that the
            // screen size
            if (toXDelta < 0) {
                toXDelta = 0 - screenWidth;// -300;
            } else {
                toXDelta = 0 - screenWidth - toXDelta;// -300 - toXDelta;
            }
            // Animation parameters
            Animation mAnimation = new TranslateAnimation(screenWidth,
                    toXDelta, 0, 0);
            mAnimation.setDuration(15000);
            mAnimation.setRepeatMode(Animation.RESTART);
            mAnimation.setRepeatCount(Animation.INFINITE);
            view.setAnimation(mAnimation);
            parent_layout.addView(view);
        }
    }


}

在activity_main.xml中

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <LinearLayout
        android:id="@+id/ticker_area"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="#9CB1DD"
        android:orientation="horizontal" >
    </LinearLayout>
</RelativeLayout>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Android中为长度不超过屏幕尺寸的较小文本创建跑马灯效果? 的相关文章

  • Android 上有哪些字体可用? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我知道安卓有一个字体集合 http www ascenderfonts com store search
  • v7 RecyclerView NullPointerException AccessibilityDelegateCompat.getBridge()

    运行我的 recyclerview 列表片段时出现此错误 java lang NullPointerException Attempt to invoke virtual method java lang Object android su
  • 使用库来维护免费/付费的应用程序版本

    维护免费 付费应用程序版本的共识似乎是使用库 并从每个活动中设置一个标志 以从代码库中获取不同的功能 这有多安全 据我了解 一个人可以root他们的手机 获取APK 并且可以对其进行反编译 即使代码被混淆 也不难看出该应用程序是带有标志的包
  • 在 Android 中长按时从操作模式中删除后退/主页按钮

    我已经在里面长按实现了上下文操作模式recycler view 为此我打电话给ActionModeCallback从创建动作模式开始 创建动作模式时 默认显示后退箭头 检查如下 单击后退箭头 操作模式将关闭 现在我想要hide or rem
  • Firestore - RecycleView - 图像持有者

    我不知道如何编写图像的支架 我已经设置了 2 个文本 但我不知道图像的支架应该是什么样子 你能帮我告诉我图像的文字应该是什么样子才能正确显示吗 holder artistImage setImageResource model getArt
  • 应用内结算错误

    我的 UNMANAGED 应用内购买无法正常工作 在它完美运行之前 我可以使用测试帐户成功购买 但它突然不起作用了 因为我记得我对商家帐户所做的只是添加更多 2 4 个测试帐户 添加后 我的应用内购买将不起作用 所以我更新了公钥并上传了一个
  • 尝试在模拟器上安装第二个 flutter 应用程序时出错

    我创建了一个简单的 flutter 应用程序并在 android 模拟器上运行它 效果还不错 现在我创建了另一个 当我尝试在模拟器上运行它时 我得到 Error ADB exited with exit code 1 adb failed
  • finish() 完成活动但它仍然在后台

    我有一个关于 android studio 中活动的 finish 方法的问题 我有这个简单的代码 public class MainActivity extends AppCompatActivity Override protected
  • 如何查看 Android 上的 Wi-Fi 是否已连接?

    我什至不希望我的用户尝试下载某些内容 除非他们连接了 Wi Fi 然而 我似乎只能判断是否启用了 Wi Fi 但他们仍然可以有 3G 连接 android net wifi WifiManager m WifiManager getSyst
  • 如何使用 Firebase UI 在 recyclerView 中显示时从 Firebase 数据库中的子级引用父级

    我目前正在引用 quote text 子项 这些数据显示在recyclerview using firebase用户界面 我想获取 quote text 的父名称 如何获取 quote text 孩子的父母姓名 When user clic
  • 导航抽屉默认片段

    我是一名新手开发人员 我正在将导航抽屉与 android support v7 集成到我的应用程序中 我有一个问题 当我启动应用程序时 主要布局是这样的
  • 在 Jetpack Compose 中跨可组合函数重复使用一组预览注释

    在 Jetpack Compose 中迈出第一步 这非常令人惊奇 除了一个恼人的问题 我有一组固定的预览 正常 深色和 RTL Preview name Normal group Screen showBackground true Pre
  • 无法获取 Facebook 传入请求

    我正在尝试在我的 Facebook android 游戏应用程序中实现发送数据并接受该数据 我正在关注https developers facebook com docs android send requests notification
  • 如何以编程方式启动 ssh 服务器 android,以及如何获取连接到设备的用户名和密码

    我正在开发像这样的应用程序sshdroid 我想在 Android 操作系统上打开 ssh 连接 并且我想从电脑连接应用程序 我使用了 JSCH lib 但是这个lib用于将android连接到pc 我的要求是pc到android 任何人都
  • 将图像添加到自定义 AlertDialog

    我制作了一个 AlertDialog 让用户可以从我显示的 4 个选项中选择一个 前 3 个让他们在单击号码时直接拨打号码 第 4 个显示不同的视图 现在看起来是这样的 由于第四个选项的目的是不同的任务 我想让它看起来不同 因为用户可能会感
  • Android - 9 补丁

    我正在尝试使用 9 块图片创建一个新的微调器背景 我尝试了很多方法来获得完美的图像 但都失败了 s Here is my 9 patch 当我用Draw 9 patch模拟时 内容看起来不错 但是带有箭头的部分没有显示 或者当它显示时 这部
  • Android AutoCompleteTextView 带芯片

    我不确定我是否使用了正确的词语来描述此 UI 功能 但我已附上我希望在我的应用程序中实现的目标的快照 它由 Go SMS 使用 用户在编辑文本中键入联系人 在用户从完成下拉列表中选择联系人后 该联系人将被插入到编辑文本中 如附图所示 编辑文
  • Android 自定义警报对话框中的 OnClickListener

    我是一个自学成才的初学者 感谢耐心 谢谢 在 Eclipse 中 我使用自己的 xml 文件 custom dialog 创建了一个自定义警报对话框 称为 usernamealert 如果用户尚未输入用户名 即 username lengt
  • Android:如何检测手机设置中的语言已更改

    我如何检测我的手机语言是否已更改 例如 Facebook 应用程序将向我们宣布 please wait we preparing your language i used myString Locale getDefault getDisp
  • 当ScrollView滚动到底部时加载更多数据

    我有一个带有动态加载内容的滚动视图 有时可能会有很多内容 所以我想在用户滚动到底部时加载更多内容 我搜索了合适的方法 发现了两种 onScrollChanged and getScrollY 但我不知道如何将它用于我的目的 请给我一些建议

随机推荐

  • 启动画面在 PhoneGap Build 中不起作用

    无论是 Android 还是 iOS 我都无法让闪屏正常工作 我正在使用 PhoneGap Build 并且我已经像这样设置了 config xml 现在适用于 v3 0 0
  • 如何从 URI 获取完整文件路径

    我想从 URI 获取完整的文件路径 URI 不是图像 而是音乐文件 但如果我像 MediaStore 解决方案那样执行此操作 则如果应用程序用户选择 Astro 作为浏览器而不是音乐播放器 它将无法工作 我该如何解决这个问题 PathUti
  • 搜索数据库 - ASP.NET MVC C#

    我正在尝试在我的 ASP NET MVC C Linq to Sql 网站中实现完整的搜索功能 该网站由大约 3 4 个表组成 其中包含我想要搜索的大约 1 2 列 这是我到目前为止所拥有的 public List
  • UITableView 自定义节标题,重复问题

    我在为自定义 UITableView 部分标题设置动画时遇到问题 目标是创建可折叠的部分 当我第一次点击自定义标题时 它会按预期进行动画处理 但此后每次它都会在原始位置留下重复项并为另一个进行动画处理 图片示例 My Custom Head
  • 将 NA 值替换为组值

    我有一个 df 如下 有 5 个家庭 20 人 家庭中的某些人缺少关于是否拥有医疗卡的数据 我想为这些人提供与家庭中其他人相同的值 不是 NA 值 而是 0 或 1 的真正二进制值 我已经尝试了以下代码 我认为这是朝着正确方向迈出的一步 但
  • 编译时触发 std::vector 的范围检查

    目标 我想要一个范围检查版本std vector s operator 对于我的调试版本 在发布模式下没有范围检查 调试模式下的范围检查显然有利于调试 但它会导致我的发布代码减慢 5 10 这是我希望避免的 可能的解决方案 我在 Strou
  • 如果单元格自动更新,“编辑”功能将不起作用 - 需要解决方法 Google 表格

    当您手动更改单元格时 此代码将按预期工作 function onEdit event assumes source data in sheet named Prepsheet target sheet of move to named To
  • Android应用程序强制关闭时会发生什么

    我很想知道当应用程序在很长一段时间内没有响应时 当用户单击弹出窗口中的 强制关闭 时会发生什么 哪些事件会被解雇 任务会从托盘中删除吗 我认为当一个活动被强制关闭时 dalvik 将清理应用程序缓存并启动后台堆栈中的最后一个活动 但不确定它
  • XSD 两个具有相同名称但属性值不同的元素

    我正在尝试为以下内容定义 XSD 模板
  • 如何修复 python `dlib` 错误:“在平面命名空间 '_png_do_expand_palette_rgb8_neon' 中找不到符号”?

    我收到错误 symbol not found in flat namespace png do expand palette rgb8 neon 尽管发生了错误dlib正在安装相关 Python 版本的软件包 我正在使用 VSCode 以防
  • 为什么匿名类型不能在方法中传递?

    倾向于不从方法返回匿名类型的设计决策是什么 You can从方法返回匿名类型的实例 但因为您无法命名它 所以您无法准确声明该方法将返回什么 因此您必须声明它只返回object 这意味着调用者将无法对属性等进行静态类型访问 尽管他们仍然可以传
  • Qt/C++:如何获取远程PC(通信对端)MAC地址?

    我在 Windows 7 上使用 Qt5 在我的应用程序中 TCP服务器 我目前正在使用 QTcpSocket 类中的一些方法 QAbstractSocket peerAddress 为了得到对等地址 QAbstractSocket pee
  • 在Entity Framework4中捕获Sql异常?最佳实践是什么?

    您在数据层中使用什么实践来捕获 sql 异常 有人编写了一个通用 Sql 异常处理程序来捕获最常见的错误吗 你是怎么做到的 有什么例子吗 Thanks 仅由底层处理意外异常 数据层 在本例中为实体框架 的异常应仅由业务层处理 然后 业务层可
  • 如何在 TypeScript 中通过导入使用命名空间

    我在两个单独的文件中有两个类 一个从另一个文件扩展 基类包含一些import使用节点模块的语句 我不清楚为什么派生类 位于单独的文件中 无法识别基类 有人可以澄清一下吗 UtilBase ts
  • 如何让 ZK webfragment 与嵌入式 Jetty 9 一起工作?

    这个最小的嵌入式 Jetty 项目可以正确启动 扫描注释并查找并映射带注释的 TestServlet 项目结构 src main java test Test java webapp test zul pom xml 测试 java pac
  • 为什么 IIS 不支持分块传输编码?

    我正在与 IIS Web 服务器建立 HTTP 连接 并使用使用 Transfer Encoding chunked 编码的数据发送 POST 请求 当我这样做时 IIS 只是关闭连接 没有错误消息或状态代码 根据HTTP 1 1 规范 h
  • 当应用程序部署到 JBoss 时显示一条消息

    当我通过 JBoss AS 7 1 1 部署应用程序时 如何显示消息来提醒用户 我正在使用的技术 四郎1 2 3 莫贾拉2 1 7 PrimeFaces 5 1 JDK 1 7 JBoss 7 1 1 在 JBoss AS 前面放置一个准系
  • java中什么时候应该使用finalize()方法?

    我们什么时候应该真正使用java中的finalize 方法 如果我们想在finalize 方法中关闭连接 那么最好使用下面的代码 因为等待GC调用finalize 方法然后释放连接是没有意义的 try Connection creation
  • GWT 设计器不适用于 Maven-GWT 项目

    我刚刚启动了一个 GWT 项目 环境如下 日食赫利俄斯 Eclipse 3 6 的谷歌插件 eclipse 的 maven2 插件 Eclipse 3 6 的 Gwt 设计器 该项目是由 gwt maven plugin 创建的 该项目可以
  • 如何在Android中为长度不超过屏幕尺寸的较小文本创建跑马灯效果?

    我一直试图在我的应用程序中为 HELLO 一词提供选框效果 但 Android 不允许这样做 除非文本的长度超过屏幕尺寸 有解决办法吗 PS 这看起来很简单 我还没有得到任何解决方案 我使用了我在早期 Android 时代开发的简单的轻量级