如何在Button -Android下面显示弹出窗口

时间:2013-07-20 22:24:07

标签: android xml popup

如何在Button下显示弹出窗口而不是确切位置?目前,这是我设置弹出窗口的代码,

popUpFollowUsername.showAtLocation(findViewById(R.id.dashboardRelative), Gravity.TOP, 100, 280);

我希望它直接出现在按钮

的按钮下面
<Button android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/post"
        android:paddingTop="10dip"
        android:paddingBottom="10dip"
        android:textSize="20sp"
        android:textColor="#FFFFFF"
        android:textStyle="bold"
        android:background="@drawable/dashboard_post"
        android:id="@+id/btnPost"/>

我有多个Android手机,弹出窗口出现在每部手机的不同位置,如何让它始终直接显示在帖子按钮下?

1 个答案:

答案 0 :(得分:0)

使用View.getLocationOnScreen()和/或View.getLocationInWindow(),这样您就可以在屏幕上获取视图的位置。有了这些信息,就可以很容易地将弹出窗口放在按钮附近。

基本上使用类似的东西:(未经测试)

Button btn = get(); // maybe with findViewById
btn.setOnClickListener(new OnClickListener() {
    void onClick(View v) {
        int[] pos = new int[2];
        v.getLocationInWindow(pos);
        int x = pos[0];
        int y = pos[1] + v.getHeight();
        // show popup at the given x,y position
    }
});