Android PopupWindow 7.0で位置問題をポップアップ
1928 ワード
Android PopupWindow 7.0で位置問題をポップアップ
Android開発ではPopupWindowを使ってコンテンツを表示することが多い.
7.0で幅と高さを設定しすぎると、ポップアップされたPopupWindowが現在のウィンドウを覆って携帯電話の画面全体をカバーし、anchorViewの下で弾き出すわけではありません.
7.0でshowAtLocation()を使用してPopupWindowをポップアップし、x、yのオフセット量を設定することに注意します(x、yのデフォルト値は0).
Android開発ではPopupWindowを使ってコンテンツを表示することが多い.
7.0で幅と高さを設定しすぎると、ポップアップされたPopupWindowが現在のウィンドウを覆って携帯電話の画面全体をカバーし、anchorViewの下で弾き出すわけではありません.
public void show(View view)
{
if (Build.VERSION.SDK_INT < 24)
{
popupWindow.showAsDropDown(view, 0, 0);
} else
{
popupWindow.showAtLocation(view, Gravity.NO_GRAVITY, 0, view.getHeight() + getStatusBarHeight());
}
}
/**
*
* @return
*/
private int getStatusBarHeight()
{
try
{
Resources resource = AnyfishApp.getApplication().getResources();
int resourceId = resource.getIdentifier("status_bar_height", "dimen", "Android");
if (resourceId != 0)
{
return resource.getDimensionPixelSize(resourceId);
}
} catch (Exception e)
{
}
return 0;
}
7.0でshowAtLocation()を使用してPopupWindowをポップアップし、x、yのオフセット量を設定することに注意します(x、yのデフォルト値は0).