Android APP首次安裝 教學引導效果
阿新 • • 發佈:2019-01-07
最後放下完整原始碼:http://download.csdn.net/detail/caowei410489662/8199309package 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> } } }