您可以在android的所有内容之上叠加视图吗?
在iPhone中,我将新视图设置frame.origin
为(0,0)并将其宽度和高度设置为的宽度和高度self.view
。如果将其添加到self.view
,则将使其充当覆盖层,覆盖后面的内容(或者如果它具有透明背景,则显示后面的视图)。
android中有类似的技术吗?我意识到视图略有不同(相对布局,线性布局和框架布局有三种(或更多类型),但是有什么方法可以不加选择地将视图叠加在所有内容之上吗?
只需使用RelativeLayout
或FrameLayout
。最后一个子视图将覆盖其他所有内容。
Android支持Cocoa Touch SDK不支持的模式:布局管理。iPhone的
布局 意味着将所有内容都放置在绝对位置(除了一些拉力因素之外)。android中的布局意味着将孩子彼此放置在一起。
示例(第二个EditText将完全覆盖第一个):
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/root_view">
<EditText
android:layout_width="fill_parent"
android:id="@+id/editText1"
android:layout_height="fill_parent">
</EditText>
<EditText
android:layout_width="fill_parent"
android:id="@+id/editText2"
android:layout_height="fill_parent">
<requestFocus></requestFocus>
</EditText>
</FrameLayout>
FrameLayout
是某种视图堆栈。专为特殊情况制作。
RelativeLayout
非常强大 您可以定义规则,例如 视图A必须将父布局的底部对齐 , 视图B必须将A的底部与顶部对齐 ,等等。
根据评论更新
通常,您使用setContentView(R.layout.your_layout)
in
设置内容onCreate
(它将为您增加布局)。您可以手动进行操作并致电setContentView(inflatedView)
,没有区别。
该视图本身可以是单个视图(例如TextView
),也可以是复杂的布局层次结构(嵌套布局,因为所有布局都是视图本身)。
调用setContentView
活动后,便知道其内容是什么样的,并且可以(FrameLayout) findViewById(R.id.root_view)
用来检索此层次结构中的任何视图(常规模式(ClassOfTheViewWithThisId) findViewById(R.id.declared_id_of_view)
)。
问题内容: 我正在尝试提供一个帮助类,以呈现一个。由于它是一个帮助器类,因此我希望它能在不考虑视图层次结构的情况下正常工作,并且没有有关它的信息。我能够显示警报,但是当它被关闭时,该应用程序崩溃并显示: 我用以下方法创建弹出窗口: 当我点击时,应用程序将崩溃,并且在崩溃之前未单击处理程序。我无法显示,因为这将取决于当前视图层次结构,而我希望弹出窗口是独立的 编辑:快速解决方案感谢@Vlad的想法。
我的问题是:我想创建一个PNG,它在xy图表上有一个小圆圈的图像。我的圆是一个饼图,所以我可以把它显示为饼图,我想把它放在我想要的图中的任何(x,y)中。我想过XYShapeAnnotation,但是这个圆圈需要分成几个部分,我不想用java图形来做,因为我不知道它,而且我认为我不需要它来满足我的需要。需要注意的是,我不能使用JfreeChart覆盖方法,因为我有两个不同的数据集(XY、Pie)
问题内容: 我正在使用Angular构建Web应用程序,并且试图找到一种方法来等待所有元素都经过评估并且包括完成加载。例如,菜单是一个已加载的视图,每个页面的主要内容也是如此,因此至少有两个s被评估并加载。最重要的是菜单包含嵌套s,它们构成了我的菜单。在所有这些包含项以及其中的所有角度函数均已加载并且DOM已准备就绪之后,我需要一种启动脚本的方法。 Angular完成页面设置后,是否会触发任何事件
问题内容: 在与此问题相关的帖子中,我没有找到相关且最新的答案。 我想在启动时加载所有ViewController。目前,它按预期启动,但是当我点击一个栏项目(第一次)时,由于尚未加载,因此加载时间略有延迟。 我该怎么做是Swift? 谢谢。 问题答案: 要预加载的视图,只需访问其属性: 要将所有视图控制器预加载到,您可以执行以下操作: 或者更紧凑一些:
假设我有一些关于jetpack-compose内容的活动 如果我要启动此活动并专注于文本字段,就会弹出一个软件键盘。 但是,该接口不会对此做出反应。可滚动列的下边框(以及第100个项目(将不可见。 换句话说,软键盘与内容重叠。 如何使jetpack在可见区域发生变化(由于软件键盘)?
我正在我的应用程序中使用ViewPager进行滑动效果。 我使用pager.setPageMargin()使下一个视图和上一个视图可见,不幸的是我的下一个视图与当前视图重叠。 下面是我的代码 我在用寻呼机里的片段。我得到的输出与这个线程的附加,但需要视图被适当地放置与out over lapping 上图所标部分应在中心卡后面。