簡體   English   中英

放大后如何顯示PopUpWindow

[英]How to show PopUpWindow after it has been inflated

我有一個PopUpWindow,它需要在Activity啟動時立即加載,它使用屏幕的DisplayMetrics以及其他內容。 但是,我收到錯誤消息“無法添加窗口-令牌null無效;您的活動正在運行嗎?” 對於這一行welcome.showAtLocation(popupview2, Gravity.CENTER, 0, 0);

僅在檢索資源后如何顯示PopUpWindow? 我的PopUpWindow充當飛濺(以便它可以在onClick上立即消失),因此窗口必須是用戶看到的第一件事。

我的代碼:

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

LayoutInflater inflater = (LayoutInflater) this
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    DisplayMetrics displayMetrics = getResources().getDisplayMetrics();

    dpWidth = displayMetrics.widthPixels / displayMetrics.density;

    dpHeight = displayMetrics.heightPixels / displayMetrics.density;

popupview2 = inflater.inflate(R.layout.start_layout, null);

welcome = new PopupWindow(popupview2, (int) dpWidth, (int) dpHeight);
    welcome.setAnimationStyle(R.style.Animation2);

    welcome.showAtLocation(popupview2, Gravity.CENTER, 0, 0);

}

基本上,我可以使用任何類似“ onResourcesLoaded”的東西嗎? 所有幫助表示贊賞。

當您的代碼被調用時,系統尚未准備好度量指標

將所有代碼移到此方法中:

@Override
public void onAttachedToWindow() {
    // TODO Auto-generated method stub
    super.onAttachedToWindow();

}

當所有指標都可以使用時,將調用此方法,因為活動已完全顯示。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM