标签: android-xml-attribute

在 XML 布局中使用带有占位符的字符串 android

我有一个带有占位符的字符串,例如

<string name="str_1">Hello %s</string>
Run Code Online (Sandbox Code Playgroud)

我想在 xml 布局中使用它作为 android:text="@string/str_1"。有没有办法在 xml 布局中使用它来填充占位符?提前致谢。我已经知道 java/kotlin 中的 String.format(str,str...) 但我想在 xml 布局中使用它而不需要数据绑定。

string android android-layout android-xml android-xml-attribute

7
推荐指数
1
解决办法
6669
查看次数

我可以为布局尺寸使用可缩放像素吗?

有没有人知道使用sp单位作为布局尺寸的任何问题?所以,假设我有一个16sp文本,将TextView高度设置20sp为例如有什么问题,所以它会随着文本缩放?

<TextView
    android:textSize="16sp"
    android:layout_width="match_parent"
    android:layout_height="20sp"
    ...
Run Code Online (Sandbox Code Playgroud)

这样,文本周围的填充在缩放后与文本大小成比例。此外,这对于自动调整大小很有用,wrap_content不推荐使用。

但是,官方文档指出sp永远不应用于文本大小(尽管没有任何解释):

但是,在定义文本大小时,您应该改为使用可缩放像素 (sp) 作为单位(但切勿将 sp 用于布局大小)。

这背后的原因是什么?两个dpS和sps的转换为某设备特定的像素量,最终,不是吗?那么核心区别是什么?

android android-layout android-xml android-xml-attribute

5
推荐指数
1
解决办法
217
查看次数

Android Studio 新项目中出现“未知属性 android:text”警告

Android Studio 3.5.3 for Linux 中的一个警告让我很恼火,这是我第一次尝试。我正在按照 Android 教程创建一个交互式骰子滚轴应用程序,在第三步中,它表示可以通过更改布局编辑器中“声明的属性”菜单上的属性“文本”来更改按钮的文本。

问题是:我的列表中没有这样的属性。

部分解决方案:我可以在活动 xml 中更改它。有一个名为 android:text 的属性。更改此属性也会更改设计窗口中的文本,并且构建时也不会发出警告。

无论如何,在 xml 文件上会发出此警告:

未知属性 android:text

检查信息:此检查突出显示 Android 资源文件和 AndroidManifest.xml 中未知的 XML 属性

我找不到任何解决方案来摆脱它。我尝试清空/使缓存无效(即使它是一个新项目),删除 AndroidStudio3.5/system/caches 和 gradle/caches 中的所有内容,重新同步 gradle,删除 .idea 文件夹并最终重新安装 Android Studio,但没有任何运气。

这也适用于具有相同属性的其他元素,如 TextView、EditText 或 CheckBox。属性 android:ems 也会受到此警告的影响。无论哪种情况,它似乎都不会给设计师或建造者造成问题,所以我想我可以忽略这个警告,但无论如何我想知道为什么会发出它。

未知属性 android:activity_main.xml 上突出显示的文本

在此输入图像描述

编辑:我的Sdk Build-Tools版本是33(这是标准安装附带的版本,我没有更改它)

android-layout android-xml android-studio android-xml-attribute android-studio-3.5

4
推荐指数
1
解决办法
1405
查看次数