java - 如何确定 Java 中 View 的像素单位(px、dp 等)?

标签 java android unit-testing android-studio robolectric

我正在尝试编写一个单元测试来验证是否使用了 DIP。我可以使用 editText.getTextSize() 读取大小值,但无法读取文本单元(在这种情况下,这是为了确保使用“dp”)。如果有人将文本单位从 dp 更改为 px 或任何其他单位,测试用例应该会失败。

<EditText
    android:id="@+id/someId"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textSize="48dp"/>

提前致谢!

最佳答案

首先,永远不要在 dp 中使用 textSize。他们应该始终使用 sp,以便有视力问题的人可以根据需要扩大规模。

其次,为什么要为此编写单元测试?你在测试什么?那如果你把一个给定的大小放在它实际使用的 xml 中呢?不要,那是谷歌在测试框架时要测试的工作。编写单元测试来做到这一点完全是浪费时间,因为它永远不会中断。您是否正在测试某个元素是否具有特定大小?然后测试它,你不会测试它是否在 dppx 中指定。

关于java - 如何确定 Java 中 View 的像素单位(px、dp 等)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38362289/

相关文章:

java - ANT 安装问题

java - 如何将数据从 firestore 添加到我的 spinner

java - 带有摄像头输入和基点的 Android 增强现实

java - JSON 网址不起作用

Android SDK 不显示

unit-testing - 单元测试代码根据今天的日期进行日期处理

unit-testing - Specflow - 有没有办法管理背景,使其仅针对功能中的某些场景运行?

Java Final 变量在执行时发生变化

java - 无法发送包含某些字符的名称的 key

C++ 谷歌模拟/单元测试 : Mock method not called and original one is