Androidスタートページ広告ウェルカムインタフェース

5631 ワード

この広告インタフェースは主にカウントダウン機能をしています.もちろん、真ん中にもいくつかの問題が発生しています.問題に直面して問題を解決する原則を持って、ゆっくりとできています.あまり完備していないかもしれません.まずそうします.
以前作ったapp起動ページとメインインタフェースはactivityの中にあり、visibility属性にアニメーション効果を加えた起動ページを通じて、追加した広告ページも一緒に書けば、頭が大きくなり、思い切って単独でacitivityを提出し、起動ページと広告ページを一緒に置いた.
問題:
1.ステータスバーの問題:起動ページのイメージの色と広告ページの色の差が大きすぎて、同じイメージを使って、ステータスバーが自動的に色を変えることができない:
解決:ステータスバーの色を透明にします.
2.タイマーの問題-広告リンクをクリックした後、タイマーはまだ歩いていて、それから自動的にページをジャンプします:
解決:handler.removeMessages(0);
3.Bitmapの値伝達の問題:
開始ページと広告ページを2つのactivityで作成し、開始ページで画像のダウンロードを開始し、画像のダウンロードが完了すると広告ページにジャンプして表示されます.これは2つのactivityでBitmapを伝える問題に関連しています.
intent.putExtra("BITMAP",bitmap);
値を取るページ
Bitmap bitmap = getIntent().getParcelableExtra("BITMAP");
エラーもなく、データサイズも取得できますが、データが表示されず、ネット上では40 k以上伝送できないと言っていましたが、具体的には検討していないので、activityで表示するように変更しました.
Bitmapリファレンスの転送:http://blog.csdn.net/xueerfei008/article/details/23046341
以下にコードを添付します:(要求データの部分を削除しました)



    

    

        

        

        
    


JAvaコード:
**
 * app     
 */
@ParentViewInject(R.layout.activity_first)
public class FirstActivity extends MyActivity {
	public static String ISADV = "isAdv";
	@ChildViewInject(value = R.id.welcome, tag = "   ")
	private ImageView mWelcome;
	@ChildViewInject(value = R.id.textView, tag = "   ")
	private TextView textView;
	@ChildViewInject(value = R.id.lin_clock, tag = "   ")
	private LinearLayout lin_clock;


	public static String ADV_IMAGE_NAME = "adv_image";

	//        
	private String flag;
	//    url
	private String url;
	//     
	private int count;
	//        
	private String filePath;
	private Bitmap bitmap;
	private Animation animation;
	/**
	 *      handler
	 */
	private Handler handler = new Handler() {
		public void handleMessage(android.os.Message msg) {
			if (msg.what == 0) {
				textView.setText(getCount() + "");
				handler.sendEmptyMessageDelayed(0, 1000);
				animation.reset();
				textView.startAnimation(animation);
			}


		};


	};
	/**
	 *        handler
	 */
	private Handler handler_animation = new Handler() {


		@Override
		public void handleMessage(Message msg) {
			super.handleMessage(msg);
			switch (msg.what) {
			case 1:
				lin_clock.setVisibility(View.VISIBLE);
				mWelcome.setImageBitmap(bitmap);
				animation = AnimationUtils.loadAnimation(FirstActivity.this,
						R.anim.animation_text);
				handler.sendEmptyMessageDelayed(0, 1000);
				break;


			case 2:
				break;
			}
		}


	};


	@Override
	protected void onCreate(Bundle savedInstanceState) {
		setTranslucentStatus();
		super.onCreate(savedInstanceState);
		//         
		//flag =;
		//url = ;
		//count = ;
		//filePath ;
		bitmap = BitmapFactory.decodeFile(filePath);
 //   app       ,    -             ,           ,               
new Handler().postDelayed(new Runnable() {

public void run() {

if ("1".equals(flag) && bitmap != null) {
handler_animation.sendEmptyMessage(1);
if (!TextUtils.isEmpty(url)) {//           
mWelcome.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
Intent intent = new Intent(FirstActivity.this,
WebActivity.class);
intent.putExtra(
HomeWebFragment.EXTRA_PARAM_URL, url);
intent.putExtra(ISADV, true);
IntentUtil.startNewActivityWithData(
(Activity) FirstActivity.this, intent);
handler.removeMessages(0);//  -    remove ,          
finish();
}
});
}
} else {
turnMainAnXinActivity();
}
}

}, 1000);

}

/**
*       
*/
private void turnMainAnXinActivity() {
Intent intent = new Intent(this, MainAnXinActivity.class);
startActivity(intent);
finish();
}


private int getCount() {
count--;
if (count == 0) {
turnMainAnXinActivity();
}
return count;
}


/**
*            ( setContentView()      )
*/
private void setTranslucentStatus() {
// 4.4    
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
//      
getWindow().addFlags(
WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
//      
// getWindow().addFlags(
// WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
// SystemStatusManager tintManager = new SystemStatusManager(this);
// tintManager.setStatusBarTintEnabled(true);
// //         
// tintManager.setStatusBarTintResource(R.color.trans);
// getWindow().getDecorView().setFitsSystemWindows(true);
}
}
}