Android 要编辑标签/值的布局设计标签/值详细信息

Android 要编辑标签/值的布局设计标签/值详细信息,android,android-layout,Android,Android Layout,长期web开发人员开始本机android开发。 对于新手来说,我认为这是一个非常常见的问题 问题:我有一个能够编辑细节的细节屏幕。单击编辑按钮将导航到编辑屏幕。这些视图基本相同,只是“详细信息”屏幕是只读的,而“编辑”屏幕中的每个字段都是可编辑的 我已经通读了这里的材料设计指南 它详细介绍了如何设计可编辑字段 我在这里也读过关于TextInputLayout的内容: 我可以模拟细节屏幕上每个标签/值字段的TextInputLayout(参见示例布局),但是,这似乎需要做很多工作 我认为理想情

长期web开发人员开始本机android开发。 对于新手来说,我认为这是一个非常常见的问题

问题:我有一个能够编辑细节的细节屏幕。单击编辑按钮将导航到编辑屏幕。这些视图基本相同,只是“详细信息”屏幕是只读的,而“编辑”屏幕中的每个字段都是可编辑的

我已经通读了这里的材料设计指南 它详细介绍了如何设计可编辑字段

我在这里也读过关于TextInputLayout的内容:

我可以模拟细节屏幕上每个标签/值字段的TextInputLayout(参见示例布局),但是,这似乎需要做很多工作

我认为理想情况下,重新使用编辑表单字段非常方便,但只需将它们标记为详细信息屏幕的只读字段即可


我想问一下安卓大师们实现这一目标的“正确方法”。我宁愿不要拼凑出一个解决方案。当然,这个螺母以前已经被破解过,但是,显然我的谷歌搜索技能还不足以找到它。

您可以使用以下说明禁用EditText字段:

应用程序通常共享添加/编辑屏幕,但不一定共享查看/编辑屏幕

添加/编辑共享的示例如下:


可以使用以下说明禁用EditText字段:

应用程序通常共享添加/编辑屏幕,但不一定共享查看/编辑屏幕

添加/编辑共享的示例如下:


使用
EditText
显示和编辑文本是一个完美的解决方案。您只需调用
TextInputLayout
上的
setEnabled()
方法即可在这些状态之间切换。从用户体验的角度来看,改变文本的颜色以及仅在启用模式下显示行是一个好主意。该设计可以通过使用Android的状态资源来实现。

拥有一个用于显示和编辑文本的
EditText
是一个完美的解决方案。您只需调用
TextInputLayout
上的
setEnabled()
方法即可在这些状态之间切换。从用户体验的角度来看,改变文本的颜色以及仅在启用模式下显示行是一个好主意。该设计可以通过使用Android的状态资源来实现。

我之所以使用它,是为了根据当前视图的类型以编程方式改变元素的输入类型。如果是编辑视图,我只使用默认值。另一方面,我以这种方式更改输入类型

editText1.setText("Your value text here");

editText1.setInputType(InputType.TYPE_NULL); 

我认为简单的ti工作得很好

为什么我要做的是根据当前视图的类型以编程方式改变元素的输入类型。如果是编辑视图,我只使用默认值。另一方面,我以这种方式更改输入类型

editText1.setText("Your value text here");

editText1.setInputType(InputType.TYPE_NULL); 

我认为简单的ti工作得很好

这是使用MVP/Clean,这不是android新手开发的标准方法。我同意,但提供它是为了完整性。前面概述了简单的方法。拉莫拉克在这方面做得很好。谢谢你谢谢你的回答。但是,我不关心添加/编辑场景,更关心编辑/详细场景。不过,再次感谢您阅读并提供您的意见。这是使用MVP/Clean,这不是android新手开发的标准方法。我同意,但提供它是为了完整性。前面概述了简单的方法。拉莫拉克在这方面做得很好。谢谢你谢谢你的回答。但是,我不关心添加/编辑场景,更关心编辑/详细场景。不过,再次感谢您阅读并提供您的输入。setEnabled已被弃用。最好使用inpuType=none
setEnabled()
TextInputLayout
上对我来说效果很好,但不推荐使用。使用不推荐使用的代码不是一个好主意。看起来…酷。我似乎可以共享两个屏幕的视图,因为它们几乎完全相同,除了一个用于显示细节,另一个用于编辑。我要试一试。谢谢。setEnabled已被弃用。最好使用inpuType=none
setEnabled()
TextInputLayout
上对我来说效果很好,但不推荐使用。使用不推荐使用的代码不是一个好主意。看起来…酷。我似乎可以共享两个屏幕的视图,因为它们几乎完全相同,除了一个用于显示细节,另一个用于编辑。我要试一试。谢谢