Androidの前のスキャンボックススタイルの初心者ガイドライブラリ
18698 ワード
出典:炎の鎧csdnブログ:http://blog.csdn.net/totond 炎の鎧メールボックス:[email protected]この文章はオリジナルです.転載はこの出所を明記してください.
概要
Githubアドレス:https://github.com/totond/YGuider これはスキャンフレームスタイルの初心者ガイドです.効果は上の図のようです.
使用
Grade
(アップロードしたばかりの0.9.2バージョンは数時間待つかもしれません)は現在、一時的に1つの走査枠だけのガイド(マルチスキャンフレームの設計) をサポートしています.がViewオブジェクトに入ると、その位置情報に基づいて座標領域が生成され、対象領域に保存される.(したがって、Viewオブジェクトが入ってきたら位置がもっと変わったので、 入力エリア座標矩形(left,top,right,bottom)もターゲットを設定することができます. は、弾戸レイアウトをカスタマイズすることができる. は、自分でスキャン枠のブラシを描くことができます.
具体的な操作方法はWikiを見ることができます.
使い方
Demo使用
DemoにはYGuiderを使った様々なポーズが含まれていますが、コメントがいくつかありますので、Forkで体験してください.
簡単に使う
Activityオブジェクトに着信してYGuiderを作成し、スキャンされたいターゲットを追加して、最終的に
方法が多すぎますので、ここに置いて場所を取りすぎますので、Wikiに行って各方法の使い方を確認してください.
目標の設定方法について
これらの方法は、YGuider自身の既定値の属性を設定するために使用されます.
このプロシージャはTextViewを再生します.hanks-zyhのHTextViewから書き換えたTyper TextViewです.これらの属性以外にもxmlファイルで定義できるものがたくさんあります.
コールバック
YGuiderのコールバックは、ステータス・コール
YGuider原理分析は途中で行われていますが、YGuiderが複数のスキャンフレームを使えるように設計されています.ここで意見と提案をお願いします.よろしくお願いします.
著作権
Typer TextView
YGuiderで使われている文字の一つ一つに現れるコントロールは、hanks-zyhのHText Viewの中から書き換えたTyper TextViewです.私がたくさん変えられましたが、ここで説明します.
オープンソースプロトコル
YGuiderはApache 2.0プロトコルに従います.
概要
Githubアドレス:https://github.com/totond/YGuider これはスキャンフレームスタイルの初心者ガイドです.効果は上の図のようです.
使用
Grade
(アップロードしたばかりの0.9.2バージョンは数時間待つかもしれません)
compile 'com.yanzhikaijky:YGuider:0.9.2'
サポート機能startGuide()
の前にprepare()
を呼び出してください.)具体的な操作方法はWikiを見ることができます.
Demo使用
DemoにはYGuiderを使った様々なポーズが含まれていますが、コメントがいくつかありますので、Forkで体験してください.
簡単に使う
Activityオブジェクトに着信してYGuiderを作成し、スキャンされたいターゲットを追加して、最終的に
prepare()
メソッドを呼び出して準備が完了します.
mYGuider = new YGuider(this);
mYGuider.addNextTarget(new RectF(70, 70, 170, 170), " , , YGuider!", 90, 0);
mYGuider.addNextTarget(btn1, " View !", 150, 10);
mYGuider.addNextTarget(new RectF(50, 500, 150, 650), " !", 100, 10);
mYGuider.addNextTarget(
btn2, " PopupWindow , !"
, -350, -350
, 430, ViewGroup.LayoutParams.WRAP_CONTENT);
mYGuider.addNextTarget(
new RectF(500, 200, 600, 270), " ",
-350, 50
, 300, ViewGroup.LayoutParams.WRAP_CONTENT
, "", "Finish");
mYGuider.prepare();
最後に呼び出しが必要な場合は、startGuide()
方法を使って初心者ガイドを開始します. mYGuider.startGuide();
方法の紹介方法が多すぎますので、ここに置いて場所を取りすぎますので、Wikiに行って各方法の使い方を確認してください.
目標の設定方法について
/**
*
* @param targetView View
* @param text
* @param wOffsetX X ( View )
* @param wOffsetY Y ( View )
*/
public void addNextTarget(View targetView, String text, int wOffsetX, int wOffsetY);
/**
*
* @param targetView View
* @param text
* @param wOffsetX X ( View )
* @param wOffsetY Y ( View )
* @param wWidth
* @param wHeight
*/
public void addNextTarget(View targetView, String text, int wOffsetX, int wOffsetY, int wWidth, int wHeight);
/**
*
* @param targetView View
* @param text
* @param wOffsetX X ( View )
* @param wOffsetY Y ( View )
* @param wWidth
* @param wHeight
* @param jumpText
* @param nextText
*/
public void addNextTarget(View targetView, String text, int wOffsetX, int wOffsetY, int wWidth, int wHeight, String jumpText, String nextText);
/**
*
* @param targetRegion
* @param text
* @param wOffsetX X ( View )
* @param wOffsetY Y ( View )
*/
public void addNextTarget(RectF targetRegion, String text, int wOffsetX, int wOffsetY);
/**
*
* @param targetRegion
* @param text
* @param wOffsetX X ( View )
* @param wOffsetY Y ( View )
* @param wWidth
* @param wHeight
*/
public void addNextTarget(RectF targetRegion, String text, int wOffsetX, int wOffsetY, int wWidth, int wHeight);
/**
*
* @param targetRegion
* @param text
* @param wOffsetX X ( View )
* @param wOffsetY Y ( View )
* @param wWidth
* @param wHeight
* @param jumpText
* @param nextText
*/
public void addNextTarget(RectF targetRegion, String text, int wOffsetX, int wOffsetY, int wWidth, int wHeight, String jumpText, String nextText);
/**
* Target
* @param targets ScanTarget
*/
public void addTarget(ScanTarget... targets);
なお、上記の追加動作を実行した後は、YGuiderがターゲットView位置属性を取得するためにprepare()
が必要となる.
/**
* Guide
*/
public void startGuide();
/**
*
*/
public void startNextGuide();
/**
*
*/
public void cancelGuide();
/**
*
* @param index index
* @return
*/
public boolean removeTarget(int index);
/**
*
*/
public void clearTargets();
/**
* ContentView
* , View ,
* , ContentView
*/
public void prepare();
カスタム属性の設定方法これらの方法は、YGuider自身の既定値の属性を設定するために使用されます.
/**
* , 20
* @param refreshTime ms
*/
public void setMaskRefreshTime(int refreshTime);
/**
* , 500
* @param moveDuration ms
*/
public void setMaskMoveDuration(int moveDuration);
/**
* , 500
* @param expandDuration ms
*/
public void setExpandDuration(int expandDuration);
/**
* , , #aa222222
* @param color
*/
public void setMaskColor(@ColorInt int color);
/**
*
* @param paint
*/
public void setMaskPaint(Paint paint);
/**
* TextView , 100
* @param refreshTime , ms
*/
public void setWindowTyperRefreshTime(int refreshTime);
/**
* , 18sp
* @param size
*/
public void setWindowTyperTextSize(int size);
/**
* TextView , 1
* @param increase
*/
public void setWindowTyperIncrease(int increase);
/**
*
* @param jumpText
*/
public void setJumpText(String jumpText);
/**
*
* @param nextText
*/
public void setNextText(String nextText);
/**
*
* @param idRes DrawableId
*/
public void setWindowBackground(@DrawableRes int idRes);
/**
*
* @param size
*/
public void setWindowJumpAndNextTextSize(int size);
/**
*
* TyperTextView ,id ttv_tips
* , id tv_jump tv_next,
* @param layouId id
*/
public void setWindowContent(@LayoutRes int layouId);
Typer TextViewについてこのプロシージャはTextViewを再生します.hanks-zyhのHTextViewから書き換えたTyper TextViewです.これらの属性以外にもxmlファイルで定義できるものがたくさんあります.
コールバック
YGuiderのコールバックは、ステータス・コール
OnGuiderChangedListener
とクリック・コールバックOnGuiderClickListener
に分類される./**
* YGuider
*/
public interface OnGuiderChangedListener {
/**
*
*/
void onGuiderStart();
/**
*
* @param nextIndex index
*/
void onGuiderNext(int nextIndex);
/**
*
*/
void onGuiderFinished();
}
/**
*
*/
public interface OnGuiderClickListener {
/**
*
*/
void onMaskClick();
/**
*
* @param nextIndex index
*/
void onNextClick(int nextIndex);
/**
* /
* @param index index
*/
void onTargetClick(int index);
/**
*
*/
void onJumpClick();
}
これらはインターフェースであり、それらを実現するためには中のすべての方法を書き換えなければならないので、ここにはそれらを継承する抽象的なクラスOnGuiderListener
がそのサブクラスを実現すると、いくつかのコールバック方法を選択的に書き換えられます. /**
*
* @param guiderClickListener OnGuiderClickListener OnGuiderListener
*/
public void setOnGuiderClickListener(OnGuiderClickListener guiderClickListener){
mMask.setOnGuiderClickListener(guiderClickListener);
}
/**
*
* @param onGuiderChangedListener OnGuiderChangedListener OnGuiderListener
*/
public void setOnGuiderChangedListener(OnGuiderChangedListener onGuiderChangedListener){
mMask.setOnGuiderChangedListener(onGuiderChangedListener);
}
/**
*
* @param onGuiderListener OnGuiderListener
*/
public void setOnGuiderListener(OnGuiderListener onGuiderListener){
mMask.setOnGuiderListener(onGuiderListener);
}
後続YGuider原理分析は途中で行われていますが、YGuiderが複数のスキャンフレームを使えるように設計されています.ここで意見と提案をお願いします.よろしくお願いします.
著作権
Typer TextView
YGuiderで使われている文字の一つ一つに現れるコントロールは、hanks-zyhのHText Viewの中から書き換えたTyper TextViewです.私がたくさん変えられましたが、ここで説明します.
オープンソースプロトコル
YGuiderはApache 2.0プロトコルに従います.