2010-02-18 42 views
6

tôi có một chương trình hiển thị màn hình giật gân. Nhưng vấn đề là bất cứ khi nào tôi làm mới lại một trang nữa, nó xuất hiện. Có phương pháp nào để dừng màn hình giật gân một lần nữa. Tôi muốn nó chỉ xuất hiện lần đầu tiên lặp đi lặp lại. Cảm ơn bạnmàn hình giật gân android

Trả lời

3

Vì vậy, về cơ bản, bạn muốn màn hình giật gân xuất hiện một lần cho mỗi lần khởi chạy ứng dụng. Đây là cách nhanh chóng và bẩn thỉu:

  1. Phân lớp android.app.Application như, MyApp;
  2. Tuyên bố rằng lớp học trong AndroidManifest.xml (<application android:name=".MyApp" ... >) để nó sẽ được khởi tạo vào thời điểm khởi chạy ứng dụng;
  3. Cho nó một public static boolean SPLASH_SHOWN = false;
  4. Bây giờ, trong onCreate() séc Activity của bạn nếu SPLASH_SHOWN = false, show giật gân và đặt nó vào true.
+2

nếu (SPLASH_SHOWN == false) { \t splash = (ImageView) findViewById (R.id.splashscreen); \t splash.setBackgroundResource (R.drawable.splash); \t Message msg = new Message(); \t msg.what = STOPSPLASH; \t splashHandler.sendMessageDelayed (msg, SPLASHTIME); \t splash.setVisibility (View.VISIBLE); \t SPLASH_SHOWN = true; } – BIBEKRBARAL

0

Nếu bạn triển khai màn hình giật trong cùng một hoạt động với bố cục chế độ xem khác (bố cục chính) - ví dụ: hiển thị màn hình giật gân trước, sau đó chuyển chế độ xem sang bố cục chính - Tôi khuyên bạn nên kiểm soát chế độ xem nội dung thiết lập trong onResume(). Sử dụng biến boolean (displayedSplash) để nhớ xem màn hình có được hiển thị hay không. Nếu nó chưa được hiển thị (bắt đầu hoạt động lần đầu tiên, hiển thịSplash == false), sau đó đặt chế độ xem thành màn hình giật gân, sau đó chuyển sang bố cục chính và đặt displayedSplash = true. Nếu nó đã được hiển thị (làm mới trang, hiển thịSplash == true), chỉ cần đặt chế độ xem cho bố cục chính.

Một giải pháp đơn giản và an toàn khác cho màn hình giật gân đơn giản là triển khai nó dưới dạng hoạt động, sau đó bắt đầu hoạt động chính. Khi số onResume() được gọi là lần thứ hai, chỉ cần hoàn thành hoạt động. Vui lòng tham khảo this Wiki để biết chi tiết.

0

Hầu hết các lần tôi gọi phương thức finish() bên trong phương thức onPause() trong hoạt động giật gân. Điều này sẽ hoạt động tốt cho tôi

Các vấn đề liên quan