我想在Android中定义RelativeLayout视图的z顺序.
我知道这样做的一种方法是打电话bringToFront.
有更好的方法吗?如果我可以在布局xml中定义z顺序会很棒.
我有活动和很多小部件,其中一些有动画,而且由于动画,一些小部件正在移动(翻译)一个在另一个上.例如,文本视图正在移动某些按钮...
现在问题是我希望按钮始终在前面.当textview移动时,我想移动按钮.
我无法实现这一点我尝试了我所知道的一切,并且"bringToFront()"definitelly不起作用.
注意我不想按照放置元素的顺序来控制z顺序因为我根本不能:),布局很复杂而且我不能将所有按钮放在布局的乞讨处
我有一个问题是将视图发送回来.在Android中,我们有一个方法bringToFront(),将视图放在另一个视图的顶部.就像那样,我想把视图放在上一张图片的下方.
有没有像任何方法sendToBack()或bringToBack()Android中.如果是这样,任何人都可以帮助我.
注意:我不想按照在布局中放置项目的顺序来控制z顺序我想以编程方式控制z顺序.
我不想隐藏前面的视图我只是希望它们在移动的视图后面.
我有子类UIView并添加了一个drawRect方法.然后我使用此自定义类定义视图并向其添加子视图.
问题是drawRect似乎在子视图下绘制东西(因此不可见).
我希望drawRect绘制的内容出现在我的自定义子视图上方UIView.
这可能吗?
我正在写一个习惯TextBox,一旦获得焦点改变其边框风格.
由于添加边框会导致控件与相邻的控件重叠,因此我暂时将文本框置于对话框的前面(使用textBox.BringToFront()).
但是,一旦编辑完成并且焦点丢失,我想将控件发送回Z顺序中的原始位置.
这是可能的(最好以简单的方式!)
伙计们,
请问有没有人知道如何从一个看不见的应用程序中显示一个表单,并让它获得焦点(即出现在其他窗口的顶部)?我在C#.NET 3.5中工作.
我怀疑我采取了"完全错误的方法"......我没有 Application.Run(新的TheForm())而不是我(新的TheForm()).ShowModal() ... Form基本上是一个模态对话,带几个复选框; 文本框,以及确定和取消按钮.用户勾选一个复选框并输入描述(或其他),然后按OK,表单消失,进程从表单中读取用户输入,处理它,然后继续处理.
这是有效的,除非表单显示它没有得到焦点,而是它出现在"主机"应用程序后面,直到你在任务栏中点击它(或其他).这是一个最烦人的行为,我预测会导致许多"支持调用",而现有的VB6版本没有这个问题,所以我在可用性方面倒退了...用户不会接受(并且也不应该).
所以...我开始认为我需要重新考虑整个shebang ...我应该预先显示表单,作为"正常应用程序"并将处理的剩余部分附加到OK按钮单击事件.它应该工作,但这需要时间,我没有(我已经超过时间/预算)...所以首先我真的需要尝试使当前的方法工作...即使快速和 - 脏的方法.
所以,请有人知道如何"强制".NET 3.5表格(通过公平的方式或家禽)来获得焦点?我在想"魔术"的Windows API调用(我知道
Twilight Zone:这似乎只是工作中的一个问题,我们正在Windows XP SP3上使用Visual Studio 2008 ...我刚刚无法在家中使用SSCCE(见下文)重现问题关于Vista Ulimate的C#2008 ......这很好用.咦?WTF?
另外,我发誓昨天在工作时显示了我运行EXE时的表格,但不是直接从IDE(我刚刚忍受的)F5'(或Ctrl-F5'ed)时... ...在家里表单显示正常.Totaly confusterpating!
它可能相关,也可能不相关,但Visual Studio今天早上在调试模式下运行并"动态"编辑代码时崩溃并烧毁...它被卡住了我认为是无限循环的错误消息.错误消息是关于"无法调试此项目,因为它不是当前项目,或者其他东西......所以我只是使用进程资源管理器将其杀死.它再次启动,甚至提供恢复"丢失"文件,我接受的报价.
using System;
using System.Windows.Forms;
namespace ShowFormOnTop {
static class Program {
[STAThread]
static void Main() {
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
//Application.Run(new Form1());
Form1 frm = new Form1();
frm.ShowDialog();
}
}
}
Run Code Online (Sandbox Code Playgroud)
背景:我正在将现有的VB6实现移植到.NET ...它是一个名为MapInfo的"客户端"GIS应用程序的"插件" .现有客户"无形地工作",我的指示是"尽可能保持新版本与旧版本尽可能接近",这很好(经过多年的修补); 它只是用不支持的语言编写的,所以我们需要移植它.
关于我:我通常都是C#和.NET的菜鸟,虽然我有一个底部擦拭证书,我已经是一名专业程序员已经10年了; 所以我有点"知道一些东西".
任何见解都是最受欢迎的......谢谢大家花时间阅读这篇文章.遗嘱(显然)不是我的强项.
干杯.基思.
我知道在这个主题上有一些线索,但我还没有找到一个足够好的解决方案.
我需要在所有其他标记的顶部放置一个标记.我该怎么做呢?
我尝试在所有其他标记之前和之后添加此标记,但是顺序似乎是从地图视图的底部(前面)到顶部(后面).这是不可接受的,因为我想以所有标记前面的标记为中心.
我知道Polygons可以zorrdered但我更喜欢一个漂亮的图形!
实际上你不能在标记上订购多边形!
"相对于其他叠加层绘制此多边形的顺序,包括Polylines,GroundOverlays和TileOverlays,但不包括Markers.具有较大z-index的叠加层将绘制在具有较小z-indices的叠加层上.相同的z-index值是任意的.默认值为0." - https://developers.google.com/maps/documentation/android/reference/com/google/android/gms/maps/model/Polygon
有没有人对此有任何想法?
我正在创建一个应用程序,我在其中与每个正在运行的应用程 现在,我需要一种获取窗口z顺序的方法.例如,如果Firefox和记事本正在运行,我需要知道哪一个在前面.
有任何想法吗?除了为每个应用程序的主窗口执行此操作外,我还需要为其子窗口和姐妹窗口(属于同一进程的窗口)执行此操作.
我必须将图像绘制脚本从matlab转换为matplotlib/pylab,我试图获得与下面的matlab图像相同的效果:

如您所见,图的z顺序似乎高于网格的z顺序,因此标记不会被轴隐藏.但是,我无法找到一种方法来对我的matplotlib图像做同样的事情:

我想知道是否可以在不增加y轴限制的情况下获得相同的显示.
我想在动画期间更改某些视图的z顺序
在4.1.2以上的机器人上工作得很好,在4.1.2以下的机器人上,Z顺序没有变化,顶视图仍然在顶部.
这就是我想要的.
myView.bringToFront();
((View)myView.getParent()).invalidate();
Run Code Online (Sandbox Code Playgroud)
如何使它在旧设备上运行?