如何在Android中按需显示布局,覆盖以前存在的视图?

时间:2013-11-28 04:13:00

标签: android layout

例如,假设我有一个这样的按钮: enter image description here

单击按钮时,我希望动态显示一个布局,覆盖其他视图。 enter image description here

我怎样才能实现这样的目标?

2 个答案:

答案 0 :(得分:0)

  

单击按钮时,我希望在其下方显示布局   动态地覆盖其他视图。

您可以使用PopupWindow执行相同操作,请参阅以下示例:

How to create popups in Android

答案 1 :(得分:0)

根据您的父布局,您可能需要稍微调整一下代码,但这个整体想法应该适合您。

将您的登录布局放在loginBtn下方,并将布局设置为visibility:gone

<Button
android:id="@+id/loginBtn"
.../>

<RelativeLayout
android:id="@+id/loginLyt"
android:visibility="gone"
android:layout_below="@id/loginBtn"
...>
<!--your EditTexts and enter btn -->
</RelativeLayout>

<!-- rest of your layout... -->

然后在你的活动中使用loginBtn点击Listener来切换loginLyt的可见性

loginBtn.setOnClickListener(new OnClickListener(){
  public void onClick(View v){
    if(loginLyt.getVisibility() == View.GONE){
      loginLyt.setVisibility(View.VISIBLE);
    }else{
      loginLyt.setVisibility(View.GONE);
    }
  }
});