【问题标题】:How can I place white text on a black screen on Android?如何在 Android 上的黑屏上放置白色文本?
【发布时间】:2020-02-25 10:19:24
【问题描述】:

这是我用于启动屏幕的 XAML:

<?xml version="1.0" encoding="UTF-8" ?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >
    <item android:drawable="@android:color/black"/>
        <TextView android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:text="Test"
                    android:gravity="center"
                    android:layout_gravity="center"
                    android:textSize="40sp"
                    android:textStyle="bold"
                    android:fontFamily="sans-serif-medium"
                    android:textColor="#fff"
            />
</layer-list>

我希望看到以黑屏为中心的白色文本。屏幕是黑色的,但我根本看不到任何文字。

【问题讨论】:

  • 为什么这是一个与布局混合的可绘制对象?
  • 因为我不知道如何将白色文本放在黑色背景上,所以找到了这个例子。
  • 不要将可绘制对象与布局混合

标签: android xamarin.android


【解决方案1】:

我明白你想要做什么。 您想在打开应用程序时显示的“启动画面”上显示纯文本。由于您使用的是 Xamarin,因此您可以访问所有原生 API,并且可以做原生开发人员可以做的所有事情。

不幸的是,在原生开发中无法在初始屏幕上显示纯文本。 Android 对其进行了限制,因为“视图来自主题。当您在主题中为您的启动活动设置 UI 时,它立即可用”。

为什么我不能在初始屏幕上显示纯文本,而我可以有图像?正如您在here in detail 上看到的,初始屏幕仅接受可绘制资源。和there is no way 将纯文本转换为 XML 可绘制资源。

不过,您确实还有其他选择。您可以使用“加载屏幕”。您可以让应用程序显示初始屏幕,然后显示加载屏幕,然后加载正确的页面。让我知道这是否有意义

【讨论】:

    【解决方案2】:

    将背景属性设置为黑色。要么

    android:background="#000"
    

    或

    android:background="@android:color/black"
    

    【讨论】:

      【解决方案3】:

      我不习惯 Xamarin,但如果您通常想为您的活动创建某种启动画面,据我所知,没有办法直接向其中添加 TextView,因为LayerList 仅支持位图(可绘制图像)作为子项。因此,您必须创建一个包含您的文本的 .img 文件。然后,您可以像这样将带有文本的图像添加到layer-list:

      <?xml version="1.0" encoding="utf-8"?>
      <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
      
          <!-- This line below is for the background colour -->
          <item android:drawable="#000" />
      
          <item>
          <!-- The bitmap below contains the image with the text -->
             <bitmap
              android:src="@drawable/my_text_on_screen"
              android:gravity="center" />
      
          </item>
      
      </layer-list>
      

      要了解如何从文本创建图像,请查看this StackOverflow 问题。

      让我知道这是您想要实现的目标!我希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-04-23
        • 1970-01-01
        • 2011-01-16
        • 2015-01-19
        • 1970-01-01
        • 1970-01-01
        • 2021-12-03
        • 1970-01-01
        相关资源
        最近更新 更多