【问题标题】:Change Specific Layout on Android Studio在 Android Studio 上更改特定布局
【发布时间】:2020-10-27 18:37:24
【问题描述】:

我只是想问一下这在android studio中是否可行

如您所见,我指出了按下Send Profile 按钮后需要更改的蓝色区域。我的意思是我可以隐藏fullname,address,phonenumber,emailaddress 等类似的东西,因为我想添加更多表格来填写。

如果有人可以指导我参考,谢谢。

【问题讨论】:

    标签: android


    【解决方案1】:

    您可以为勾勒出的蓝色区域设置一个片段占位符,并根据需要进行片段转换。

    每个表单都可以由一个单独的 xml 布局文件表示,您可以将其放置在此占位符中。

    【讨论】:

    • hmmm 我可以通过编程方式创建一个片段,而不是通过右键单击类似的东西来添加新片段吗?
    • 当然可以,您需要一个FragmentTransaction 实例,您可以调用.repace().add().. 请查看here
    • 但据我所知,整个页面都会被替换掉,对吧?我只是希望将蓝色区域替换为要填写的其他表格
    • 如果要替换活动的整个区域还是仅替换某个区域,由您决定,文档引用:You can combine multiple fragments in a single activity to build a multi-pane UI and reuse a fragment in multiple activities.
    【解决方案2】:

    好吧...如果您使用的是 Constraintlayout 之类的东西,您只需引用视图并将其可见性设置为 View.GONE 因此,您可以将其放入 Button 的 onClickListener(可能在验证之后),然后您可以隐藏这些视图。

    您也可以使用片段,但对于初学者(我假设您是)来说,这些可能很难,因此您可以将文本字段的标题/提示混合使用并隐藏起来,而不是替换这些视图视图(或显示新视图)。

    LinearLayout 也会让这件事变得简单,因为视图就像在您的情况下一样(只有蓝色区域),所以隐藏/显示是直截了当的。

    【讨论】:

    • 是的,我实际上是 android studio 的新手。但是这个片段并不是一个坏主意,因为我对它有一些经验。谢谢
    • 没问题,点个赞。
    • 实际上一个片段有问题,因为我不需要替换整个页面。我只需要更改特定的空间/区域
    • 嗯......这可能很难,因为在这种情况下让 Fragments 工作(特别是干净)真的不是我推荐给初学者的东西。全屏片段是的,但蓝框似乎比你的情况更难
    【解决方案3】:

    最简单的方法是将另一个 LinearLayout 放在那里,并将所有其他元素放入这个新的 LinearLayout。然后你就可以使用

    findViewById(R.id.yourNewLinearLayout).setVisibility(View.GONE);
    

    隐藏所有这些东西。

    【讨论】:

    • 如果我将第一个 LinearLayout 设置为不可见,我的其他表单会自动上升吗?
    • 如果您将其设置为 View.INVISIBLE,则不会,但使用 View.GONE 他们会。如果您希望“发送配置文件”按钮留在底部,您可以尝试在其前面放置一个空元素,高度为 0dp。
    猜你喜欢
    • 2012-11-25
    • 1970-01-01
    • 2021-07-14
    • 2014-05-26
    • 1970-01-01
    • 1970-01-01
    • 2014-12-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多