类和片段中的 UI 改进会影响 android 中的应用程序性能吗?



在我正在开发的应用程序中,存在一个用于特定选项的切换按钮。我使用了一个XML文件来满足所有的显示尺寸。选项卡准确地显示这个屏幕。尽管如此,在较小的屏幕上,切换与文本视图在同一水平线上重叠。从布局中减少此按钮的文本大小是不切实际的,因为它也会减少选项卡的文本大小,并且该屏幕上还有其他正确显示的按钮。与其他文本视图相比,有问题的文本视图较长。

因此,我在我的片段中包含了代码,通过验证isSmallPortrait资源值来减小这个按钮在手机上的文本大小。但是,我担心这些修改可能会影响应用程序的性能。这是执行这些任务的最佳方法吗?是否有其他最佳实践来实现这一目标?(这个片段有500个代码长)

textDisplayLastViewed = getView().findViewById(R.id.textDisplayLastViewed);
if(!getResources().getBoolean(R.bool.isSmallPortrait)){
}
else{
textDisplayLastViewed.setTextSize(TypedValue.COMPLEX_UNIT_SP,15);
}

您在这里所做的操作不应该影响性能。但在我看来,还有其他可能的问题需要考虑。仅为一个文本字段减少文本大小并不是一个好的UX示例,因为屏幕上还有其他类似的视图具有更大的文本大小。

可能在其他类似的textview上有意外文本截断的风险。即使它在你的设备上看起来很好,用户仍然可以从设备设置中增加相对文本大小。所以15sp值可能会比你设备上的值大。也许在所有类似的视图上减小文本大小是有意义的(如果没有看到UI很难判断)。

不确定它是否适用于您的情况,但您可以为不同的屏幕尺寸提供不同的dimens.xml。例如,除了默认的main/res/values/dimens.xml,你可以添加main/res/values-sw360dp/dimens.xml。你只需要在两个dimens.xml中定义文本大小资源<dimen name="text.small">15sp</dimen>。假设第一个是15sp,另一个是14sp。该应用程序将根据屏幕大小选择正确的文本大小资源。您可以在官方文档https://developer.android.com/guide/topics/large-screens/support-different-screen-sizes

中了解更多信息。这种在运行时手动更新文本大小的方法很难维护。当UI发生变化时,很容易忘记更新这段代码。

还请考虑在需要的地方添加android:ellipsize参数到您的TextViews。https://developer.android.com/reference/android/widget/TextView attr_android: ellipsize

最新更新