2017-07-16 48 views
-1

我有一个简单的问题。我正在Android Studio中进行应用程序,并且遇到问题。我的应用程序使用Java创建按钮。我希望在预览编辑器中看到这些按钮,因为我希望更容易编辑布局。所以我在XML中制作了相同的按钮,但这是问题所在。当我构建我的应用程序时,它显示了两个按钮!我只想看到由Java代码创建的按钮,最后这里是我的问题,它可能会删除在XML中创建的按钮?我正在考虑工具:..但我没有找到任何有用的标签。有人有任何想法?Android Studio:查看谁只在预览中可见

回答

0

您可以一起使用tools:visibility="visible"android:visibility="gone",以便它们在预览中显示,但当应用程序在设备/仿真器上运行时,它们会消失。

+0

但是在XML代码中删除它们是不可能的?当应用程序正在建设? – Apsik

+0

不,他们在技术上仍然在那里,当应用程序正在运行,但完全不可见,并没有占用任何空间。如果你真的希望它们被删除,那么当应用程序启动时,你必须在java代码中删除它们,所以你可以在它们的父级上调用'removeView(child)'。 – Moonbloom

0

如前所述,您使用tools:visibility="visible"android:visibility="gone"组合来呈现预览中的任何视图,但不会在构建中呈现任何视图。您的布局使用removeView(someChildElement)将删除您不想要的元素。 AFAIK,XML代码仍然会在APK中,但在构建的APK中完全不存在。

我不知道为什么你想在预览中显示它们而不是在最终结果中。如果是因为您想稍后手动切换它们,则不需要任何XML代码。你也可以这样做:

someView.setVisibility(GONE) 

和快速参考:

  • 可见 - 视图是可见
  • 隐形 - 视图是无形的,但是仍然占据空间
  • 了 - 在视图是不可见的,并且不占用空间

虽然不能从构建的XML文件中删除代码。

+0

我想创建一个可以工作的应用程序,然后我希望应用程序变得非常漂亮(这些视图将由Java代码创建,我无法在预览中看到它们)。 所以我认为如果我在创建一个应用程序时改变一个值(我会失去时间),这将不方便。 – Apsik

相关问题