标签: z-order

Java Swing组件的Z顺序

我一直在寻找一些提及这一点,但我找不到任何实质性的信息.有没有办法改变Swing组件的z顺序,或者至少改变绘制顺序,使它们看起来高于其他组件?

java swing components z-order

11
推荐指数
1
解决办法
3万
查看次数

Android点击PopupWindow

我创建了一个扩展popupwindow的类.它的构造函数看起来如下所示

super(builder.context.get());

this.setWindowLayoutMode(ViewGroup.LayoutParams.MATCH_PARENT,
        ViewGroup.LayoutParams.MATCH_PARENT);
setFocusable(true);
setBackgroundDrawable(new BitmapDrawable());
setTouchInterceptor(onTouchListener);
FrameLayout frameLayout = new FrameLayout(builder.context.get());
LayoutInflater inflater = (LayoutInflater) builder.context.get().getSystemService(
        Context.LAYOUT_INFLATER_SERVICE);
View overlayBase = inflater.inflate(R.layout.tutorial_view_items, null, false);
frameLayout.addView(builder.backgroundView);
frameLayout.addView(overlayBase);
setContentView(frameLayout);
Run Code Online (Sandbox Code Playgroud)

onTouchListener如下所示:

private OnTouchListener onTouchListener = new OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        float x = event.getX();
        float y = event.getY();
        Log.d(TAG, "Received");

        if (Math.pow(x - coordinates[0], 2) + Math.pow((y - coordinates[1]), 2) < Math.pow(radius, 2)) {
            Log.d(TAG, "bubbled through");
            return false;
        }
        return true;
    }
};
Run Code Online (Sandbox Code Playgroud)

我打电话来实际显示弹出窗口 SomePopupWindow.showAtLocation(SomeActivity.getWindow().getDecorView().getRootView(), …

android z-order onclicklistener

10
推荐指数
1
解决办法
5028
查看次数

共享元素转换(前景/背景)问题

我想知道是否可以更改共享元素转换的z顺序?看:

我有一个图像布局,填满整个屏幕.图像前面是一个文本框,显示图像的标题.如果我点击文本框,则会开始转换到详细信息活动.因此,我实现了一个共享元素转换,其中全屏图像在详细视图中设置为较小版本的自身.下图说明了这种行为.

在此输入图像描述

我现在的问题是,在两个活动中都是文本框,它们位于共享元素图像之上.如果我从概述到详细活动,我会在共享元素转换完成后看到带有数字的圆圈文本框.我想将带有数字的文本框放在共享元素转换之上,这样我也可以在这个视图元素上做一个动画.

关于如何解决这个问题的任何想法?

animation android transition z-order shared-element-transition

9
推荐指数
1
解决办法
847
查看次数

如何更改精灵的Z顺序?

我想设置我在Objective-C中创建的精灵的Z顺序,特别是在Cocos2D中.

这是我在尝试构建以下代码时遇到的错误:

CCSprite *mySprite = [CCSprite spriteWithFile:@"Image.png" rect:CGRectMake(0, 0, 96, 24)]; 
mySprite.zOrder = 0;
Run Code Online (Sandbox Code Playgroud)

...220: error: object cannot be set - either readonly property or no setter found

Z-Order必须能够以某种方式设置 - 它是否只能在实例化的行上设置而不是在创建之后设置?我是否必须为CCSprite的属性创建setter方法?为什么它不会有这些方法?

objective-c z-order cocos2d-iphone

8
推荐指数
2
解决办法
2万
查看次数

如何在Android上正确使用setZOrderMediaOverlay?

像许多其他人一样,我试图在相机预览(使用SurfaceView)上绘制3D对象(使用GLSurfaceView),并在顶部放置一些按钮.我实际上有一个原型工作,但我无法让onResume正常工作.在简历之后,GLSurfaceView会留在后面并且不再可见.我知道它正在工作,因为如果我从布局中删除SurfaceView,我可以看到绘图很好.

目标是Nexus One,运行库存2.3.3 ROM.

这是布局xml:

<com.example.cameratest.GLPreview 
        android:id="@+id/cubes" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent"/> 

<com.example.cameratest.Preview 
        android:id="@+id/camera" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent"/> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/buttongroup" 
    android:orientation="vertical"
    android:layout_width="wrap_content"
    android:layout_height="fill_parent"
    android:layout_gravity="right" android:gravity="center">

    <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:id="@+id/buttonClose"></Button>
    <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:id="@+id/buttonMode"></Button>    
    <Button android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_gravity="center" android:id="@+id/buttonCameraInfo"></Button>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

<merge>

<code>

所有这些都包含在一个Preview块中,但出于某种原因,我无法将其包含在上面的SurfaceView列表中.setZOrderMediaOverlay()是扩展GLSurfaceView和实现相机预览逻辑的类.

这在活动启动时工作正常.在我启动另一个活动(例如,按下其中一个按钮)并完成该活动后,主活动将恢复,但3D对象不再可见.

我发现这个讨论的地方setZOrderMediaOverlay()有助于解决这个z排序问题.此外,setZOrderMediaOverlay()Android文档说"在将表面视图的包含窗口附加到窗口管理器之前"应该调用此函数.我不知道如何解释该语句,因此我将调试语句放在代码中以查看事件序列.这是onResume()代码的样子:


public class GLPreview extends GLSurfaceView
{
    private static final String TAG = "GLPreview";

    public GLPreview(Context context, AttributeSet attrs)
    {
        super(context, …
Run Code Online (Sandbox Code Playgroud)

android z-order surfaceview glsurfaceview

8
推荐指数
1
解决办法
1万
查看次数

Delphi应用程序窗口的z顺序和MainFormOnTaskBar属性

我正在维护一个最初用Delphi 7编写并移植到Delphi XE的应用程序.

使用Windows 7,我们遇到了一些问题,比如主窗口下出现的模态窗口以及最终无法与程序交互,因为用户需要与模态窗体进行交互,这是不可能的,因为它位于主窗口下面.

为了避免这个问题,我将项目的MainFormOnTaskBar属性更改为True(旧项目没有此属性),现在我继续使用相同的项目.阅读文档我发现了新的Form属性PopupParent.如果我将MainFormOnTaskBar设置为True,是否必须使用此属性?还有另一个解决这个问题的方法吗?

forms delphi z-order windows-7 delphi-xe

8
推荐指数
1
解决办法
3462
查看次数

点击时不要将按钮带到前台

我的应用程序目前如下所示.Buttona RelativeLayout中有三个s ,中间按钮左右边距为负,与其他两个按钮重叠.

问题:当我单击左侧或右侧按钮时,它会到达前景一秒钟并重叠中间按钮,这看起来非常难看.

在此输入图像描述

在此输入图像描述

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal">

        <Button
            android:id="@+id/voices"
            android:layout_width="160dp"
            android:layout_height="wrap_content"

            android:layout_gravity="center_vertical"

            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:onClick="clickVoices"
            android:background="#333"
            android:textColor="#fff"
            android:text="@string/main_voices" />

        <Button
            android:id="@+id/chat"
            android:layout_width="160dp"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"

            android:onClick="clickChat"
            android:background="#333"
            android:textColor="#fff"
            android:text="@string/main_chat" />

        <Button
            android:id="@+id/record"
            android:layout_width="60dp"
            android:layout_height="100dp"

            android:clickable="true"
            android:onClick="clickRecord"
            android:scaleType="centerInside"
            android:src="@drawable/record"
            android:text="Record"
            android:layout_toRightOf="@+id/voices"
            android:layout_toLeftOf="@+id/chat"
            android:layout_marginLeft="-20dp"
            android:layout_marginRight="-20dp"
            android:layout_marginTop="-30dp"
            android:background="@drawable/round_button"

            android:paddingTop="30dp"
            android:layout_marginBottom="10dp" />
    </RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

android button z-order overlap relativelayout

7
推荐指数
1
解决办法
772
查看次数

如何在android中更改surfaceview的z顺序运行时

最近在研究android中的webrtc。

我想单击SurfaceView A 使其全屏,而另一个SurfaceView B 变小,或者单击 B。但我发现很难在运行时更改两个不同 SurfaceView 的 z 顺序。

这是我的布局

<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:showIn="@layout/app_bar_main">

<org.webrtc.PercentFrameLayout
    android:id="@+id/remote_video_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <org.webrtc.SurfaceViewRenderer
        android:id="@+id/remote_video_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" />

</org.webrtc.PercentFrameLayout>

<org.webrtc.PercentFrameLayout
    android:id="@+id/local_video_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <org.webrtc.SurfaceViewRenderer
        android:id="@+id/local_video_view"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:keepScreenOn="true" />

</org.webrtc.PercentFrameLayout>
Run Code Online (Sandbox Code Playgroud)


PercentFrameLayout 是 ViewGroup 的子类,用于测量屏幕百分比。
我尝试在运行时使用 setZOrderMediaOverlay 但失败了。我发现SDK说

请注意,必须在将表面视图的包含窗口附加到窗口管理器之前设置此项。


那么这是否意味着我无法在运行时更改SurfaceView z 顺序?或者有什么办法可以破解它吗?

对不起,我的英语不好。



编辑1 SurfaceViewRenderPercentFrameLayout
都来自库,SurfaceViewRenderSurfaceView的子类。

android z-order surfaceview webrtc apprtcdemo

7
推荐指数
1
解决办法
5458
查看次数

如何更改 seaborn 对图中绘图元素的 z 顺序

这是一个片段,用于重现我的示例图像:

import pandas as pd
import numpy as np
import seaborn as sns

np.random.seed(42)
df = pd.DataFrame(np.random.rand(10,2), columns=['x', 'y'])
df['label'] = ['cat', 'mouse', 'dog', 'mouse', 'cat', 'cat', 'mouse', 'mouse','dog', 'cat']
sns.pairplot(df, hue='label');
Run Code Online (Sandbox Code Playgroud)

它生成以下seaborn对图,以及一些虚拟数据:

在此输入图像描述

在右上图中,“狗”类别的一个标记位于“鼠标”类别的覆盖标记下方。

我可以以某种方式更改散点图标记的 z 顺序,以便“狗”类别的所有标记在顶部最清晰可见吗?

编辑:我已经尝试过hue_order=['mouse', 'cat', 'dog']hue_order=['dog', 'mouse', 'cat'],但它们只影响图例和颜色中的顺序。不是散点图中标记的 z 顺序。

python z-order pandas seaborn pairplot

7
推荐指数
1
解决办法
1718
查看次数

Databricks:Z 顺序与分区

我正在学习Databricks,我有一些关于z-order 和partitionBy 的问题。当我阅读这两个函数时,听起来非常相似。这两个函数都以某种方式对数据进行分组,以加速读取操作。另外,partitionBy 看起来很适合连接操作,但我真的不明白当我只想读取数据时应该使用什么函数。你能告诉我应该如何考虑这两个函数才能正确使用它吗?

partitioning z-order apache-spark databricks delta-lake

7
推荐指数
1
解决办法
9381
查看次数