Android APP首次安装 教学引导效果
来源:互联网 发布:戴隐形眼镜游泳 知乎 编辑:程序博客网 时间:2024/04/30 18:26
在Android APP第一次安装使用的时候,在当前的界面上做一些引导用户使用的教程,包括指示箭头、文字、图片等。
先上效果图:
第一步:制作蒙板图片放到res/drawable目录下
blacken_overlay.png
my_job_details_tutorial_1.png
my_job_details_tutorial_2.png
第二步:创建布局文件activity_main.xml和my_jobs_details_assert.xml
activity_main.xml
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/root" tools:context=".MainActivity" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="10dp" android:text="@string/hello_world" /></FrameLayout>
my_jobs_details_assert.xml
my_jobs_details_assert.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical" android:background="@drawable/blacken_overlay" > <LinearLayout android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="1" android:orientation="horizontal" > <View android:layout_weight="1" android:layout_width="0dp" android:layout_height="1dp" /> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="15dp" android:paddingTop="40dp" android:layout_gravity="right" android:src="@drawable/my_job_details_tutorial_1" /> </LinearLayout> <LinearLayout android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="2" > <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="15dp" android:paddingTop="35dp" android:layout_gravity="left" android:src="@drawable/my_job_details_tutorial_2" /> </LinearLayout></LinearLayout>
这个XML就是显示在Activity上的蒙板,这里根据需求摆放指示剪头、文字、图片
第二步:创建MainActivity.java
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> }}}
0 0
- Android APP首次安装 教学引导效果
- Android用户首次打开APP的使用教学蒙板效果实现
- Android用户首次打开APP出现教学蒙层效果的实现
- android首次进入App新手引导
- Android首次打开APP引导层
- 【Android】WindowManager类使用详解——用户首次打开APP的使用教学蒙板效果实现
- 【iOS_GitHub】引导页/首次安装引导页/渐变引导页/APP介绍页/新功能介绍页
- Android ViewPager demo APP首次启动引导页
- android 软件首次运行时引导页左右滑动效果
- IOS控件之ScrollView,PageControl---APP首次打开引导页面效果实现~
- android实现首次启动引导
- 首次进入APP的蒙层引导
- 【Anroid界面实现】WindowManager类使用详解——用户首次打开APP的使用教学蒙板效果实现
- 【Anroid界面实现】WindowManager类使用详解——用户首次打开APP的使用教学蒙板效果实现
- WindowManager类使用详解——用户首次打开APP的使用教学蒙板效果实现
- WindowManager类使用详解——用户首次打开APP的使用教学蒙板效果实现
- android 用 SharedPreferences实现app首次使用显示引导界面,之后使用将不再出现
- Android程序:使用ViewPager实现app引导页效果
- 各种正则相关
- Java将汉字转换成URL编码
- Spring常用注解
- xmpp网站
- Spring jdbc getJdbcTemplate() queryForObject返回javabean
- Android APP首次安装 教学引导效果
- WITH AS 用法示例
- QTableView
- openstack用nfs实现live migration
- 安卓开发一些细节
- 【android】只让本应用程序的webview加载网页而不调用外部浏览器的办法
- "<item> tag requires a 'drawable' attribute"-selector设置颜色不成功-解决方案
- Android Service服务被杀死后重启
- Android WebView 加载的网页不能缩放相关问