Mam super klasę, która znajduje się w bibliotece. Ta biblioteka zajmuje się inicjowaniem podstawowych elementów układu i innych rzeczy. Mój problem polega na tym, że wczytanie układu zajmuje 1.x sekund i pokazuje domyślny układ przez pewien czas przed ustawieniem układu podanego przez dziecko.Powolne ładowanie układu
Jest to metoda mojego super klasy:
public void InitializeWindow(Activity act, int layoutResourceId, String windowTitle,
Object menuAdapter, int slideMenuMode) {
super.setContentView(layoutResourceId);
super.setBehindContentView(R.layout.menu_frame);
this.menuAdapter = menuAdapter;
this.slideMenuMode = slideMenuMode;
setWindowTitle(windowTitle);
initializeSlidingMenu();
}
Nazywa się to w ten sposób:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
super.InitializeWindow(this, R.layout.activity_home, "\t\tHome",
new MenuAdapter(this, R.menu.slide_menu), SlidingMenu.TOUCHMODE_FULLSCREEN);
}
Aplikacja działa jak czar, ale to trwa, jak powiedziałem około 1. x sekundy, aby załadować układ przekazany z klasy potomnej. Dlaczego to się dzieje?
Na życzenie, to mój initializeSlideMenu()
metoda:
public void initializeSlidingMenu() {
this.setSlidingActionBarEnabled(true);
getSlidingMenu().setBehindOffsetRes(R.dimen.actionbar_home_width);
getSlidingMenu().setShadowWidthRes(R.dimen.shadow_width);
getSlidingMenu().setShadowDrawable(R.drawable.shadow);
getSlidingMenu().setTouchModeAbove(slideMenuMode);
getSlidingMenu().setBehindScrollScale(0.25f);
ListView v = new ListView(this);
v.setBackgroundColor(Color.parseColor("#000000"));
v.setAdapter((ListAdapter) menuAdapter);
getSlidingMenu().setMenu(v);
}
Jestem trochę zirytowany, że nazywacie 'InitializeWindow' a _constructor_. Dlaczego twoja superklasa nie robi wszystkich rzeczy w 'onCreate()'? - Co się dzieje w 'initializeSlidingMenu()'? –
Oczywiście, moje złe zbyt wcześnie rano. W 'initializeSlidingMenu()' ja inicjalizuję przesuwne menu, zobacz moją edycję za kilka sekund. –
@ user370305 baseclass nie ma żadnego układu, "domyślny" układ androida jest wyświetlany, podobnie jak nazwa aplikacji na pasku akcji, z białym układem. –