我的应用程序中有一个文本视图和谷歌地图,在开发应用程序时它们是有用的,但对于最终用户来说,我想隐藏它们,最好的方法是什么?
我在思考
.setVisibility(View.INVISIBLE);
然后添加一个";如果";每当使用谷歌地图和文本视图时,但我认为这是一种糟糕的做法。
有什么建议吗?
假设有两种场景,开发(调试-构建(&生产(最终或发布版本(
现在这里有你的需要你想隐藏谷歌地图&在生产构建的情况下使用文本视图,并在开发时保持谷歌地图和文本视图可见,因此您可以尝试以下内容来实现您想要的
默认情况下,新项目在build.gradle中只有两个buildType(release&debug(,因此考虑到这里我向您展示了代码段的解决方案提示
方法1
if (BuildConfig.DEBUG) {
// You can make google map and textview visible here
} else {
// You can make google map and textview invisible or gone here
}
方法2
if (BuildConfig.BUILD_TYPE.equals("debug")) {
// You can make google map and textview visible here
} else if (BuildConfig.BUILD_TYPE.equals("release")) {
// You can make google map and textview invisible or gone here
} else {
// behaviour you want by default or in case of other build types than
release or debug
}
应用程序具有一组仅在调试模式下可用的功能并不罕见。诀窍是编写您的体系结构,使其干净。对于可见项,您需要确保在发布模式下进行测试,不仅确保元素不存在,而且确保删除这些元素不会破坏您的布局(RelativeLayout的一个常见问题是,删除与其他元素相关的元素会破坏它们(。
我会考虑不把它们放在主屏幕上,而是放在某种覆盖或辅助屏幕上。这样你就不必担心prod和release中的UI问题,只需要测试一下在prod中你不能访问那个屏幕。