【问题标题】:How to overlay a small view on a Main view without fully covering main view?如何在不完全覆盖主视图的情况下覆盖主视图上的小视图?
【发布时间】:2014-05-18 15:22:44
【问题描述】:

所以我需要在我的主页上显示我的设置视图。主页中有一个“设置”按钮,可以打开此设置视图。但我希望我的主页在我的设置视图下可见,它只覆盖主视图的一半或更少。

我尝试添加

<org.example.myCustomView 
    xmlns:android="http://schemas.android.com/apk/res/android"  
    android:layout_width="fill_parent"  
    android:layout_height="fill_parent"  
    android:theme="@android:style/Theme.Dialog" />

我从stackoverflaw itself 找到的。但我不能这样做,而是应用程序在按钮单击时损坏。

我不确定我的理解是否正确,或者还有其他明确的方法吗? 我用我的相关类替换了 myCustomView 并创建了清单,但它不起作用。

如果有任何其他替代方法可以做到这一点,请告诉我。

我不是在谈论如何在视图上放置 TextView、Button、EditText

我说的完全是两种布局。

下图只是表达我的问题的一个例子。

【问题讨论】:

标签: android xml overlay-view


【解决方案1】:

我认为您需要使用layoutinflater。这是一个如何使用它的简单示例

     setContentView(R.layout.yourMainView);
     LayoutInflater mInflater = LayoutInflater.from(getApplicationContext());
     View overView = mInflater.inflate(R.layout.yourSmallView, null);
     addContentView(overView, new LayoutParams(LayoutParams.MATCH_PARENT, 
            LayoutParams.MATCH_PARENT));

【讨论】:

  • 我把它作为答案,因为它是我发现的最简单的。其他人也可以正常工作。如果有人需要尝试。
  • 很高兴我能帮上忙
【解决方案2】:

使用 FrameLayout.FrameLayout 就像容器。在其中首先放置您的蓝色布局,然后是您的设置布局。它将显示为好像设置布局放置在您的蓝色布局之上。 然后在需要时在 onclick 上隐藏和显示您的设置布局。 例如:

【讨论】:

【解决方案3】:

您可以使用更简单的对话框片段,并在 UI 上显示更复杂的内容,并具有更好的响应能力。看看对话框片段: http://developer.android.com/reference/android/app/DialogFragment.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-24
    • 1970-01-01
    • 2013-06-19
    • 1970-01-01
    • 1970-01-01
    • 2021-04-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多