1. 程式人生 > >Android如何實現新手指引操作

Android如何實現新手指引操作

本人是學習借鑑鴻陽大神的

首先在build.grade檔案中匯入    

compile 'com.isanwenyu.highlight:highlight:1.8.0'
佈局檔案如下:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#f00"
android:id="@+id/id_container"
>
  <ImageView
android:id="@+id/iv_01" android:src="@mipmap/wen02" android:layout_alignParentBottom="true" android:layout_margin="10dp" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageView android:id="@+id/iv_02" android:src="@mipmap/text" android:layout_alignParentBottom="true"
android:layout_alignParentRight="true" android:layout_margin="10dp" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <ImageView android:id="@+id/iv_03" android:src="@mipmap/qb_photo" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android
:layout_marginBottom="160dp" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </RelativeLayout>
package qb.example.com.hongyanhighlight;
import android.graphics.Bitmap;
import android.graphics.BlurMaskFilter;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.RectF;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.util.TypedValue;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ImageView;
import android.widget.Toast;
import zhy.com.highlight.HighLight;
import zhy.com.highlight.interfaces.HighLightInterface;
import zhy.com.highlight.position.OnBottomPosCallback;
import zhy.com.highlight.position.OnLeftPosCallback;
import zhy.com.highlight.position.OnRightPosCallback;
import zhy.com.highlight.position.OnTopPosCallback;
import zhy.com.highlight.shape.BaseLightShape;
import zhy.com.highlight.shape.CircleLightShape;
import zhy.com.highlight.shape.OvalLightShape;
import zhy.com.highlight.shape.RectLightShape;
import zhy.com.highlight.view.HightLightView;
public class MainActivity extends AppCompatActivity
{

    private HighLight mHightLight;
    private ImageView iv_01;
@Override
protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
iv_01=(ImageView)findViewById(R.id.iv_01);
iv_01.setOnClickListener(new View.OnClickListener() {
            @Override
public void onClick(View view) {
                Log.e("text","加油");
}
        });
showNextTipView();
}
    private boolean isBoolean=false;
    public  void showNextTipView(){
        mHightLight = new HighLight(MainActivity.this)//
.anchor(findViewById(R.id.id_container))//如果是Activity上增加引導層,不需要設定anchor
.autoRemove(false)
                .enableNext()
                .setOnLayoutCallback(new HighLightInterface.OnLayoutCallback() {
                    @Override
public void onLayouted() {
                        //介面佈局完成新增tipview
if(!isBoolean){
                            isBoolean=true;
mHightLight.addHighLight(R.id.iv_01,R.layout.layout_01,new OnTopPosCallback(),new CircleLightShape())
                                .addHighLight(R.id.iv_02,R.layout.layout_02,new OnTopLeftPosCallBack(0),new CircleLightShape())
                                .addHighLight(R.id.iv_03,R.layout.layout_03,new OnTopCenterLeftPosCallBack(40),new CircleLightShape());
//然後顯示高亮佈局
                       //這裡OnTopLeftPosCallBack和OnTopCenterLeftPosCallBack是自定義繼承與OnBaseCallback
                       //有需要的朋友可以自定義,這個主要用於使用者放置layout的位置
mHightLight.show();
Log.e("text","11111111");
}
                    }
                })
                .setClickCallback(new HighLight.OnClickCallback() {
                    @Override
public void onClick() {
                        Toast.makeText(MainActivity.this, "clicked and show next tip view by yourself", Toast.LENGTH_SHORT).show();
mHightLight.next();
}
                });
}

}