簡體   English   中英

Android onResume布局問題

[英]Android onResume Layout Problems

我的菜單有問題。

我有一個垂直和水平按鈕填充的背景布局。 看起來像這樣: http : //s7.directupload.net/file/d/3081/sewg79tr_png.htm

因此,當我開始一個新游戲(新的Intent)並按返回按鈕時,屏幕布局已損壞,看起來真的很糟糕: http : //s14.directupload.net/file/d/3081/ewfeidya_png.htm

當我切換到另一個應用程序並切換回菜單時,布局看起來像啟動時的樣子。 一切順利。

我試圖刪除所有按鈕並在onResume中重新填充布局,但是它不起作用,我真的不知道為什么。 System.out可以正常工作,但是只有當我在應用程序之間切換時,布局才會重置。

有人知道這個問題嗎?

編輯:背景按鈕的OnClickListener更改了單擊按鈕的背景圖片。 該OnClickListener仍然可以在殘破的布局中使用。

@Override
public void onResume() {
    super.onResume();
    LinearLayout buttonBackgroundLayout = (LinearLayout) findViewById(R.id.buttonHintergrundLayout);
    //int count = buttonBackgroundLayout.getChildCount();
    //System.out.println(count);
    //for (int i = 0; i < count; i++) {
    //    View child = buttonBackgroundLayout.getChildAt(i);
    //    if (child instanceof View) ((ViewGroup) child).removeAllViews();
    //}
    buttonBackgroundLayout.removeAllViewsInLayout();
    buttonBackgroundLayout.invalidate();

    createButtonImages(breite);
    createBackgroundButtons(breite);
    System.out.println("WOOOHOOO");
}

編輯:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.main);

    buttonBackgroundLayout = (LinearLayout) findViewById(R.id.buttonHintergrundLayout);

    createButtons();        

    DisplayMetrics display = new DisplayMetrics();
    getWindowManager().getDefaultDisplay().getMetrics(display);
    breite = display.widthPixels;

    createButtonImages(breite);
    createBackgroundButtons(breite);
}

您不需要刪除onResume()中的所有視圖。 就布局而言,這應該是您需要做的所有事情。

@Override
public void onResume() {
    super.onResume();
    setContentView(R.id.buttonHintergrundLayout);

}

您可能還想在此處設置所有onClickListners。 但是您在此處設置的任何內容都應該在onPause()中刪除。 但是,設置視圖本質上是免費的,尤其是在您僅使用已經存在的視圖的情況下。

LinearLayout buttonBackgroundLayout =(LinearLayout)findViewById(R.id.buttonHintergrundLayout);

將其移動到onCreate上,僅制作和使用buttonBackgroundLayout的一個實例(聲明為globbaly)

我想問題是創建視圖的多個實例

嗯,在另一部手機上(三星),情況恰恰相反。 在Startup上看起來很糟糕,從startet游戲中恢復后看起來很不錯,並且在不同的應用程序之間切換之后看起來很糟糕... Wtf !?

暫無
暫無

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

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