单个文本视图中具有不同重力和高度的两种不同样式

2023-11-21

I am looking for a textview which looks like enter image description here. I have used below code for the implementation of this..

SpannableString text;
    text = new SpannableString(bal_dollars.getText());
    int index = bal_dollars.getText().toString().indexOf(".");
    text.setSpan(new TextAppearanceSpan(getApplicationContext(),
            R.style.HeroGraphicBalanceSmallFont), index, bal_dollars
            .getText().toString().length(),
            Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
    bal_dollars.setText(text, TextView.BufferType.SPANNABLE);

这是跨度中使用的样式..

<style name="HeroGraphicBalanceSmallFont" parent="@android:style/TextAppearance.Medium">
    <item name="android:layout_width">wrap_content</item>
    <item name="android:textSize">50sp</item>
    <item name="android:singleLine">true</item>
    <item name="android:layout_height">match_parent</item>
    <item name="android:layout_gravity">top|right</item>
    <item name="android:paddingBottom">30dp</item>
    <item name="android:gravity">top|right</item>
    <item name="android:textColor">@color/status_text</item>
    <item name="customFont">fonts/HeroicCondensedMedium.ttf</item>
</style>

everything looks fine except the spacing of targeted span of text i.e decimal part gravity.. enter image description here. I tried all the xml attributes. Please help


我破解了它。我发布此内容是因为它可能对其他人有帮助,并感谢@kcoppock 的提示。 我已经延长了MetricAffectingSpan通过更改字符宽度或高度的方式影响字符级文本格式的类扩展了此类。

public class CustomCharacterSpan extends MetricAffectingSpan {
double ratio = 0.5;

public CustomCharacterSpan() {
}

public CustomCharacterSpan(double ratio) {
    this.ratio = ratio;
}

@Override
public void updateDrawState(TextPaint paint) {
    paint.baselineShift += (int) (paint.ascent() * ratio);
}

@Override
public void updateMeasureState(TextPaint paint) {
    paint.baselineShift += (int) (paint.ascent() * ratio);
}}

用它来更新您视图中的文本..

String string = tv.getText().toString();
    SpannableString text = new SpannableString(tv.getText());
    int index = tv.getText().toString().indexOf(".");
    text.setSpan(new CustomCharacterSpan(), index, string.length(),
            SpannableString.SPAN_EXCLUSIVE_EXCLUSIVE);//u can use ur own ratio using another constructor
    tv.setText(text, TextView.BufferType.SPANNABLE);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

单个文本视图中具有不同重力和高度的两种不同样式 的相关文章

  • 如何在屏幕截图后从 BroadcastReceiver 更新 UI

    主要问题 我需要在屏幕截图发生后更新用户界面 我尝试以编程方式在 MainActivity java 的 onResume 中创建 BroadcastReceiver 但由于某种原因它没有获取屏幕截图 因此 我尝试了清单中声明的 Broad
  • setRotation(90) 以肖像模式拍照不适用于三星设备

    根据文档 设置旋转 90 http developer android com reference android hardware Camera Parameters html setRotation 28int 29应旋转捕获的 JPE
  • 如何获取拍摄照片的uri?

    我想实现什么目标 我想获取捕获图像的 URI 并将其保存在 Firebase 上 我尝试了什么 首先我需要打开相机 下面我是如何做到的 Intent cameraIntent new Intent android provider Medi
  • 如何在gradle中执行jar文件?

    当我使用 ant 构建我的 android 项目时 我需要这样的任务
  • 播放完整性本地验证

    我正在尝试将播放完整性检查集成到我的应用程序中 以确保我的应用程序没有安装在已取得 root 权限的 Android 设备上 我可以按照谷歌的指导成功获得完整性令牌响应document https developer android com
  • 隐藏加载失败的图片

    我有一个 Android 应用程序 它生成一些在本地 Webkit 视图中呈现的 HTML HTML 生成的细节实际上并不那么重要 除了 大部分来自一个地方 我无法改变它 HTML 周围的模板 包括页眉 页脚 HEAD 等 CSS 和 Ja
  • 谷歌地图返回空指针异常

    当我尝试在片段上显示地图时 它返回空指针异常 我已将所有内容添加到清单中的每个权限中 我正在附加片段文件 XML 文件和日志目录 Chatffragment java public class ChatFragment extends Fr
  • android listviews:页眉和页脚视图

    在我的 ListActivity 中 我需要页眉和页脚视图 位于列表的顶部和底部 分别用作列表上的上一页和下一页按钮 因为我只想一次仅显示 20 个项目 我通过执行以下操作来设置头视图和脚视图 getListView addHeaderVi
  • 如何隐藏 Android Spinner 中的一项

    我正在寻找一种方法来隐藏 Android 旋转小部件中的一个项目 这将允许您模拟没有选择任何项目的微调器 并确保始终为每个选择的项目调用 onItemSelected 回调 如果隐藏项目是 当前 项目 通常 微调器中始终有一项不会生成回调
  • 动画片段和返回堆栈

    我在使用或理解如何弹出时遇到问题 后台堆栈中的 FragmentTransactions 处理自定义 动画 具体来说 我希望它能够调用 out 动画 但是 看来不是 我有一个简单的方法来处理片段事务 FragmentTransaction
  • 如何使用适用于 Android 的 google 驱动器 api 的 url 从 google 驱动器下载文本文件 [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我已将文本文件上传到我的谷歌云端硬盘帐户 并且该文件是公开的 我通过共享链接获得了该文件的链接 我想要做的是使用我获得的链接使用驱动器
  • android:web服务图像替换为本地文件夹中的图像

    我进入了 Android 聊天应用程序的最后阶段 我在使用图像和网络服务时遇到了一些问题 因此 当我选择图像并将该图像发送到 Web 服务时 我从服务获取 URL 我如何将该网址转换为本地文件夹中的图像 我很困惑如何才能使其发挥作用 我想在
  • Android:转换为位图时,回收器视图的宽度和高度必须> 0

    在 Sqlite 中存储文本和图像 并尝试将这些数据检索到 recyclerview 中 当将图像显示到 recyclerview 中时 它显示错误宽度和高度必须 gt 0 在将图像保存在 sqlite 中时 我将位图转换为字节 数据库助手
  • 当我从片段调用它时,我的接口类不起作用

    我正在尝试在我的项目中实现此代码 但不起作用RecyclerView 如何捕获ImageView上的onClick https stackoverflow com questions 33264042 recyclerview how to
  • Gradle:找不到受信任的证书

    我正在尝试使用 Gradle 在 Ubuntu 服务器上构建我的 Android 项目 在我的 Windows 10 PC 上使用 Android Studio 构建工作正常 但使用 gradlew build or gradlew cle
  • Android Compose MVVM - 如何在不带参数的 Composable 函数中引用 viewModel 对象?

    将如何 Composable ContentFeed 函数访问viewModel哪个是在活动中创建的 依赖注入 或者这是一种错误的做事方式 这viewModel应该始终只有一个实例 MainActivity kt class MainAct
  • 在 Android 时间选择器小部件中删除 AM/PM

    有什么办法可以去除AM PM in a Time Picker Widget 我的应用程序中有此功能 但其目的是仅选择小时和分钟 不包括上午 下午 我尝试setIs24HourView true 但时间是24小时 我只想要12小时 似乎没有
  • 如何在声音输入时触发振动?

    我正在尝试创建一个 Android 应用程序 在其中过滤蜂鸣声的一个特定频率并使手机振动 我正在从移动设备的 MIC 获取输入并使用 MediaRecorder 类 通过使用该类 我可以录制 保存和播放输入 现在我需要我的手机在发出蜂鸣声
  • 检索 StatusbarNotification 详细信息(标题、通知文本)的可靠方法

    我想从中获取尽可能多的信息StatusBarNotification 尽可能的对象 目前 唯一可以访问的 可靠 信息是tickerText 财产 我使用以下代码来获取通知的标题和文本RemoteViews 但很多时候 标题和 或文本只是 n
  • Android:永久保存文件(即使在清除数据/卸载后)

    我想知道是否有一种方法可以永久存储少量数据 永久我的意思是即使用户清除应用程序数据 卸载应用程序 我也希望数据保留下来 我知道当用户清除应用程序数据 卸载应用程序时 共享首选项和数据库将被删除 我也知道我可以在 SD 卡上保存内容 但是如果

随机推荐