一.界面实现:

借鉴了别人的实例,然后记录下引导界面的实现,总体来说实现不算困难,前提是要有个美工帮你做这些引导图片(找了张图片凑合用吧):


主界面:

public class MainActivity extends PromptActivity {    //activity的生命周期public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);setGuideResId(R.drawable.prompt2);// 添加引导页}}

引导界面:

public class PromptActivity extends Activity {private int guideResourceId = 0;// 引导页图片资源idprivate PromptSharedPreferences psp;@Overrideprotected void onStart() {super.onStart();addGuideImage();// 添加引导页}//显示引导图片public void addGuideImage() {psp = new PromptSharedPreferences();View view = getWindow().getDecorView().findViewById(R.id.my_content_view);// 查找通过setContentView上的根布局if (view == null)return;if (psp.takeSharedPreferences(this)) {// 有过功能引导,就跳出return;}ViewParent viewParent = view.getParent();if (viewParent instanceof FrameLayout) {final FrameLayout frameLayout = (FrameLayout) viewParent;if (guideResourceId != 0) {// 设置了引导图片final ImageView guideImage = new ImageView(this);FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,ViewGroup.LayoutParams.FILL_PARENT);guideImage.setLayoutParams(params);guideImage.setScaleType(ScaleType.FIT_XY);guideImage.setImageResource(guideResourceId);guideImage.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {//删除引导图片frameLayout.removeView(guideImage);//保存记录psp.saveSharedPreferences(PromptActivity.this, "启动了");}});frameLayout.addView(guideImage);// 添加引导图片}}}//获得图片idprotected void setGuideResId(int resId) {this.guideResourceId = resId;}}

布局:

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    android:id="@id/my_content_view"    >    <TextView      android:layout_width="fill_parent"     android:layout_height="wrap_content"    android:layout_marginTop="58dp"    android:layout_marginLeft="150dp"    android:text="哈哈哈哈"    />   <TextView      android:layout_width="fill_parent"     android:layout_height="wrap_content"    android:layout_marginTop="58dp"     android:layout_marginLeft="275dp"    android:text="哈"    /></RelativeLayout>

本地文件:

public class PromptSharedPreferences {private SharedPreferences sp;// 保存public void saveSharedPreferences(Context context, String save) {sp = context.getSharedPreferences("prompt", context.MODE_PRIVATE);Editor editor = sp.edit();editor.putString("state", save);editor.commit();// 保存新数据}// 取出public boolean takeSharedPreferences(Context context) {String str = "";sp = context.getSharedPreferences("prompt", context.MODE_PRIVATE);str = sp.getString("state", "");if (str.equals("")) {return false;}else{   return true;}}}

添加values/ids.xml:

<?xml version="1.0" encoding="utf-8"?><resources><item type="id" name="my_content_view"></item></resources>


更多相关文章

  1. 两种android图片裁剪方式
  2. 1.2android——UI界面之ScrollView实现上下文滚动
  3. android webview 加载图片过大
  4. android圆形图片显示ImageView超简单控件
  5. Android(安卓)使用HTTPClient调用Web请求(查询手机号码区域)
  6. android 补间动画TranslateAnimation
  7. 转:bitmap设置图片尺寸缩小,避免内存溢出/OutOfMemoryError的优化
  8. Android(安卓)SimpleAdapter 的list刷新问题。
  9. Android(安卓)返回上一个界面刷新数据

随机推荐

  1. 神策数据朱德康:用户中台建设实践解析
  2. 神策数据张涛:微信生态数字化运营解决方案
  3. 超高频 RFID系统性能的影响因素有哪些?
  4. vue组件与路由
  5. Ansible Tower标准化管理案例
  6. Openshift3.7完整安装手册+容器化Harbor
  7. 【博客大赛】【实战】k8s中长连接服务负
  8. PuTTY中目录的蓝色高亮效果太暗的处理
  9. 最短路径(C语言, floyd算法)
  10. 容器无法启动,修改Nginx配置文件的方法