Недавно я получил кое-что из того, что работает, так что мой «загрузочный» вид - это ImageView, который занимает весь экран, а затем я выгружаю основной вид (в данном случае GridView) поверх него. В создании деятельности я звоню:
setContentView( R.layout.loading_foo );
затем, когда загрузка AsyncTask завершена, я вызываю следующее:
LayoutInflater inflater = LayoutInflater.from( getApplicationContext() );
GridView gridview = (GridView) inflater.inflate( R.layout.foo, null );
//fade in the view as it's shown
gridview.setAnimation( AnimationUtils.loadAnimation( this, R.anim.fade_in ) );
//populate the items adapter
gridview.setAdapter( new FooGridAdapter( apps ) );
//now overlay the gridview on top of the loading_springboard page
ViewGroup.LayoutParams layoutParams = new ViewGroup.LayoutParams( ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT );
getWindow().addContentView( gridview, layoutParams );
Нужно ли что-то делать, в частности, чтобы очистить представление loading_foo, чтобы уменьшить объем памяти, используемой моим приложением? Есть другие проблемы с этим подходом?
(Долгое время читатель, первый постер)