在不使用XML的情况下构建Android应用程序

15

我必须使用XML来构建Android应用程序中的界面吗?我不喜欢XML,而更愿意在Java中编写界面。

在iOS中,您可以使用界面生成器/故事板编写界面,或者您也可以手动编写代码,我认为后者更好。

在Android中,我必须使用XML吗?


1
像XML或IB/StoryBoards这样的工具的目的是让您更加高效。不使用这些工具将会在长期内拖慢您的速度。 - cistearns
类似IB/StoryBoard这样的OR工具使得将您的应用转换到其他平台变得非常困难。 - user1105951
Android Jetpack Compose. https://developer.android.com/jetpack/compose - Reza
3个回答

8
您可以避免使用XML(但不能避免清单文件:AndroidManifest.xml)。
来自 Android 网站:
每个应用程序都必须在其根目录中拥有一个名为 AndroidManifest.xml 的文件。该清单向 Android 系统呈现有关应用程序的基本信息,这些信息在系统运行应用程序代码之前必须具备。除其他外,清单还执行以下操作:
您可以在此处获取更多信息:创建无 XML 应用程序(在发布问题之前请先尝试搜索)。

4
我个人建立了一个大型的视觉库。窗口、下拉菜单、日期选择器、列表、自定义图像按钮、文本编辑区... 没有一点 XML.. 我在小手机和7英寸平板电脑上测试了布局,一切都很好。
这可以做到,但需要大量工作。优点是,我的控件看起来像我的控件。它们有一种完全由我控制的风格。
当然,所有内容都是抽象的,所以当我编写“行为逻辑”时,我只关心这些。
哦,还有一个优点... 当我把代码转换成另一种语言(c++、c# 或 objective c)时,应用程序看起来相同,因为我有完全相同的抽象(受语言限制)。

1

抛开清单(manifest)不谈,当然可以。所有的XML魔法最终都映射到代码中,而Android暴露了这个功能。

那么,你真的认为放弃XML布局更好吗?我认为,你的代码应该关注行为逻辑,而不是展示逻辑。XML工具允许你将大部分展示逻辑外部化,以避免将其杂乱地混在代码中。


我认为@slezica是正确的,这可能是引入XML布局的主要概念。为什么会有负评? - LPVOID

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接