首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

带有ShowAtLocation的OnCreate中的PopupWindow -如何获取父视图?

在带有ShowAtLocation的OnCreate中的PopupWindow中,要获取父视图,可以通过以下步骤实现:

  1. 首先,创建一个PopupWindow对象,并设置其内容视图。
  2. 在设置PopupWindow的位置时,使用ShowAtLocation方法,并传入父视图的引用作为第一个参数。
  3. 在OnCreate方法中,可以通过调用findViewById方法来获取父视图的引用。这可以通过在Activity的布局文件中给父视图设置一个唯一的id来实现。
  4. 通过findViewById方法获取到父视图的引用后,将其作为第一个参数传递给ShowAtLocation方法。

下面是一个示例代码:

代码语言:txt
复制
public class MainActivity extends AppCompatActivity {
    private PopupWindow popupWindow;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // 创建PopupWindow对象并设置内容视图
        popupWindow = new PopupWindow(this);
        View popupView = getLayoutInflater().inflate(R.layout.popup_layout, null);
        popupWindow.setContentView(popupView);

        // 获取父视图的引用
        View parentView = findViewById(R.id.parent_view);

        // 在OnCreate中使用ShowAtLocation方法设置PopupWindow的位置,并传入父视图的引用
        popupWindow.showAtLocation(parentView, Gravity.CENTER, 0, 0);
    }
}

在上述示例中,R.layout.activity_main是Activity的布局文件,其中包含了一个id为parent_view的父视图。R.layout.popup_layout是PopupWindow的布局文件。

请注意,这里的示例代码中没有提及腾讯云相关产品和产品介绍链接地址,因为PopupWindow并不是云计算领域的概念,也没有与云计算相关的腾讯云产品与之对应。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

如何在onCreate中获取View的高度和宽度

如何在onCreate中获取View的高度和宽度 在开发过程中经常需要获取到View的宽和高,可以通过View.getWidth()和View.getHeight()来得到宽高。...然而新手们经常在onCreate方法中直接调用上面两个方法得到的值是0! 这是为什么呢? 因为View绘制是通过两个遍历来完成的,一个measure过程,一个layout过程。...而这一切是发生在onCreate方法之后的。所以在onCreate中直接使用View.getWidth()和View.getHeight()是无法得到正确的值的。...那应该怎么onCreate中获取View的宽高呢?...开发者可以通过View.post()方法来获取到View的宽高,该方法传递一个Runnable参数,然后将其添加到消息队列中,最后在UI线程中执行。

5.3K20
  • 干货一:通过自定义PopupWindow实现QQ菜单选项功能

    概述 我们在使用手机QQ时,点击菜单键,会弹出如本案例说演示的效果图似的菜单选项。 ? 实现方式有很多种,在这里我们来演示下如何通过自定义PopupWindow的方式一步一步的实现如上效果。...点击外部,PopupWindow可消失 …… 实现 自定义PopupWindow UI编写 位于父布局的底部 距边框有一定的距离,根布局使用layout_margin即可 ListView(四个圆角+...代码中的注释已经非常详细了,再此就不多涉及了。...Context context; //父视图 private View parentView; //item数据源 private List dataList;...,所以实例话PopupWindow的时候,传入根布局View,实现接口回调Activity类实现自定义的两个接口,并传入到PopupWindow中。

    80630

    Android自定义实现滚动选择器

    在开发的过程中,现有的控件满足不了功能的需求,这个时候就需要我们自定义控件了。最近在开发中需要实现滚动进行类别的选择,也就是我们所说的滚动选择器,这里我们自定义来实现这个功能。...实现步骤: 1、先看需要实现的效果图 2、实现自定义控件(PickerScrollView ) 3、popupwindow实现类(CommonPopWindow ) 4.主界面(MainActivity...实现类(CommonPopWindow ) /** * popupwindow */ public class CommonPopWindow { private static PopupWindow...GetConfigReq.DatasBean> datasBeanList; private String categoryName; @Override protected void onCreate...需要Demo的童鞋底部公众号回复:"滚动选择器"即可获取。 小编整理了一份Android电子书籍,需要的童鞋关注公众号回复:"e_books" 即可获取哦!

    4K42

    Android技能树 — PopupWindow小结

    我们可以一步步来看如何实现: 1.基础使用教程 既然要跳出下面的弹框,而且本文说过要使用PopupWindow,所以就是实现一个PopupWindow即可,十分简单。...这些内容: 显示的contentView PopupWindow要显示的宽和高, PopupWindow是否有获取焦点的能力(默认false)。...PopupWindow显示在这个控件的下方;而showAtLocation是相对于屏幕,可以通过设置Gravity来指定PopupWindow显示在屏幕的那个位置。...这里我要额外提上面封装类代码中的二个知识点: 知识点1. 提前知道popupwindow的宽高。...,所以我们只需要在我们工具类中默认设置PopupWindow的touchable和focusable为true,这样,我们的点击事件啥都不用改,就可以点击一下出现,再点击消失。

    1.4K11

    Android技能树 — PopupWindow小结

    所以我们可以先来看下我们需要的下拉框样式:(为了随便举个例子,所以设计的比较丑): 我们可以一步步来看如何实现: 1.基础使用教程 既然要跳出下面的弹框,而且本文说过要使用PopupWindow,所以就是实现一个...这些内容: 显示的contentView PopupWindow要显示的宽和高, PopupWindow是否有获取焦点的能力(默认false)。...} public void showAtLocation(IBinder token, int gravity, int x, int y){ ....... } 比如我们写入的代码是:popupWindow.showAtLocation...因为第一次点击前,PopupWindow还没出现在屏幕过,所以也没有被绘制出来过,宽度当然也获取不到准确值了。出现过一次后,第二次点击就能正确获取了。...,所以我们只需要在我们工具类中默认设置PopupWindow的touchable和focusable为true,这样,我们的点击事件啥都不用改,就可以点击一下出现,再点击消失。

    31510

    vue父组件中获取子组件中的数据

    name="'businessLicence'" size="350px*200px" ref="businessLicence"> 自己写了个上传图片的子组件...,父组件需要获取到子组件上传的图片地址, 方法一:给相应的子组件标签上加 ref = “avatar” 父组件在最后提交的时候获取this....$refs.avatar.相应数据 即可,因为在这里才能保证图片已经上传,否则如果图片没上传,拿到的值一定为空。...$emit方法获取的时候,如果子组件想要给父组件传入多个值,则可以写多个参数,父组件在获取的时候获取多个参数的值即可 //父组件 getUrl(path1,path2) { console.log...函数中让该函数加载即可 3、子组件向父组件传值需 是父组件 用到了 ,如果多个父组件引用了该子组件,则只有传值的时候用的子组件来自哪个父组件,这个父组件才可以接收到值,其他父组件获取不到子组件传的值。

    6.9K100

    在 Activity 的 onCreate() 方法中为什么获取 View 的宽和高为0?

    在 Activity 的 onCreate() 方法中为什么获取 View 的宽和高为0 ?...: width=0 | height=0 如上面代码结果所示,在Activity的onCreate()方法中我们尝试获取控件的宽和高,却获取得是0,这是因为 View 绘制和 Activity 的生命周期方法并不同步...,即使 Activity 回调了 onCreate()、onStart()、onResume() 方法,View 也不一定同步完成绘制,所以此时在这些方法里面获取 View 的尺寸时就获取不到,解决方法有以下几种...: 方法一、在 Activity 的 onWindowFocusChanged() 方法中获取 View 的尺寸。...,例如可以使用延时或者在onCreate()方法中手动调用 View 的测量方法,相对而言以上几种方法更为方便。

    1.2K30

    Android PopupWindow怎么合理控制弹出位置(showAtLocation)

    说到PopupWindow,应该都会有种熟悉的感觉,使用起来也很简单 // 一个自定义的布局,作为显示的内容 Context context = null;  // 真实环境中要赋值 int layoutId...showAtLocation,这个的坐标是相对于整个屏幕的,所以需要我们自己计算位置。...windowPos[0] -= xOff; popupwindow.showAtLocation(view, Gravity.TOP | Gravity.START, windowPos[0], windowPos...[1]);// windowContentViewRoot是根布局View 上面的例子只是提供了一种计算方式,在实际开发中可以根据需求自己计算,比如anchorView在左边的情况,在中间的情况,可以根据实际需求写一个弹出位置能够自适应的...补充上获取屏幕高宽的代码ScreenUtils.java: /** * 获取屏幕高度(px) */ public static int getScreenHeight

    3K110
    领券