私は小さなプロジェクトに取り組んでおり、現在、小さな審美的なものを修正しようとしています. 私のGUIが構築されている間(私のGalaxy S2では、onCreateの開始とonResume呼び出しの間で測定された60〜100ミリ秒)は、タイトルバー(後で削除します)が表示された空白の白いアクティビティです。この小さな障害を取り除くための良い解決策はありますか? ローディング画面を追加することを考えましたが、10 分の 1 秒間フラッシュするのはちょっとばかげているようです。
画面を真っ黒のままにできますか?または白で、タイトルバーを描画しないようにします。
または、ロゴの写真を一度にフラッシュすることはできますか?
アイデアをいただければ幸いです:)
作成時:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
time = Calendar.getInstance().getTimeInMillis();
General.setAuthernticator(this);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.swipe_menu_layout);
//THIS IS THE "HEAVY" LIFTING
mPager = (ViewPager) findViewById(R.id.pager);
mPagerAdapter = new ScreenSlidePagerAdapter(getSupportFragmentManager());
mPager.setAdapter(mPagerAdapter);
mIndicator = (TitlePageIndicator)findViewById(R.id.indicator);
mIndicator.setViewPager(mPager);
mIndicator.setBackgroundColor(this.getResources().getColor(R.color.blue_0));
mIndicator.setFooterColor(this.getResources().getColor(R.color.blue_4));
mIndicator.setTextColor(this.getResources().getColor(R.color.blue_3));
mIndicator.setSelectedColor(this.getResources().getColor(R.color.blue_4));
mIndicator.setOnPageChangeListener(this);
if(!General.getBoolPref(General.VALUE_INSERTED_PREF)){
mIndicator.setCurrentItem(0);
}else{
mIndicator.setCurrentItem(1);
}
PTHandler.addTransactions();
Point outSize = new Point();
Display display = this.getWindowManager().getDefaultDisplay();
try {
// test for new method to trigger exception
Class pointClass = Class.forName("android.graphics.Point");
Method newGetSize = Display.class.getMethod("getSize", new Class[]{ pointClass });
// no exception, so new method is available, just use it
newGetSize.invoke(display, outSize);
}catch(NoSuchMethodException ex) {
// new method is not available, use the old ones
outSize.x = display.getWidth();
outSize.y = display.getHeight();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
outSize.x = 480;
outSize.y = 800;
}
GUI_attrs.setScreenSize(outSize.x, outSize.y);
}
再開時:
@Override
public void onResume(){
super.onResume();
System.out.print("Draw time: " + (Calendar.getInstance().getTimeInMillis() - time) + ";\n");
}