내 안드로이드 애플 리케이션을위한 스플래시 화면에서 일하고 있습니다. 화면은 내 MainActivity.java에서 시작하는데, onCreate() 메소드에는 다음 코드가 들어 있습니다. 또한 같은 액티비티 클래스는 onResume() 메서드에서 맵을로드하고 activity_main.xml 인 새 레이아웃을로드합니다. 그 XML은 검은 화면과 배경 화면이 없습니다.응용 프로그램을로드하는 스플래시 화면 및로드 백분율을 보여주는 텍스트
MainActivity.java는
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.loading_screen);
progressBar = (ProgressBar) findViewById(R.id.progressBar1);
textView = (TextView) findViewById(R.id.textView1);
new Thread(new Runnable() {
public void run() {
while (progressStatus < 100) {
progressStatus += 1;
handler.post(new Runnable() {
public void run() {
progressBar.setProgress(progressStatus);
textView.setText(progressStatus + "/"
+ progressBar.getMax());
}
});
try {
Thread.sleep(200);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
}).start();
compass = new CompassSensor(this, compassHandler);
}
loading_screen.xml 내 레이아웃은 다음과 같다.
loading_screen.xml는
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/splash_screen_loading" xmlns:android="http://schemas.android.com/apk/res/android">
<ProgressBar
android:id="@+id/progressBar1"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="25dp" />
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignTop="@+id/progressBar1"
android:layout_marginLeft="15dp"
android:text="Large Text"
android:textAppearance="?android:attr/textAppearanceLarge" />
</RelativeLayout>
내가 대향있어 문제점은 검은 화면 앱 로딩 중에 도시이다. 문제를 디버그하려했지만 모든 노력은 쓸모가 없었습니다. Plz 도움.
UI 스레드에서 Looper.getMainLooper()를 사용하여 상태를 변경하는 방법은 무엇입니까? 또한 onResume()에서지도를로드하는 방법은 무엇입니까? AsyncTask를 사용하여지도 데이터를로드 할 수 있다고 생각합니다. – Wonil