如何在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手机,弹出窗口出现在每部手机的不同位置,如何让它始终直接显示在帖子按钮下?
答案 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
}
});