1. 程式人生 > >Android APP首次安裝 教學引導效果

Android APP首次安裝 教學引導效果

package com.example.guide;

import com.example.demo.R;

import android.os.Bundle;
import android.os.Handler;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.Fragment;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.view.View.OnClickListener;
import android.view.ViewGroup.LayoutParams;

@SuppressLint("ValidFragment")
public class MainActivity extends Activity {
	
	private View rootView;
	private Fragment detailsAssertFragment;
	private boolean showAssert = false;
	
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		
		setContentView(R.layout.activity_main);
		
		rootView = findViewById(R.id.root);
		
		final Handler mHandler = new Handler();
		mHandler.postDelayed(new Runnable() {
			@SuppressLint("NewApi")
			public void run() {
				if(rootView.getWidth() > 0){
					detailsAssertFragment = new MyJobDetailsAssertFragment();
					getFragmentManager().beginTransaction().add(R.id.root, detailsAssertFragment).commit();
				}else {
					mHandler.postDelayed(this, 100);
				}
			}
		}, 500);
	}

	public boolean onCreateOptionsMenu(Menu menu) {
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}
	
    public boolean onKeyUp(int keyCode, KeyEvent event) {
		if(showAssert && keyCode == KeyEvent.KEYCODE_BACK){
			hideTheAssert();
			return true;
		}
	    return super.onKeyUp(keyCode, event);
    }
	
    @SuppressLint("NewApi")
	private void hideTheAssert() {
	    getFragmentManager().beginTransaction().remove(detailsAssertFragment).commit();
	    showAssert = false;
    }
	
	@SuppressLint("NewApi")
	public class MyJobDetailsAssertFragment extends Fragment {
        public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
			View view = inflater.inflate(R.layout.my_jobs_details_assert, null);
			LayoutParams params= new LayoutParams(rootView.getWidth(), rootView.getHeight());
			view.setLayoutParams(params);
			view.setOnClickListener(new OnClickListener() {
				public void onClick(View v) {
					hideTheAssert();
				}
			});
			showAssert = true;
			return view;
       <span style="white-space:pre">		</span> }
	}
}
最後放下完整原始碼:http://download.csdn.net/detail/caowei410489662/8199309