您好,登錄后才能下訂單哦!
這篇文章給大家介紹怎么在Android中利用 GuideView實現首次登陸引導,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
GuideView
本系統能夠快速的為一個 Activity 里的任何一個 View 控件創建一個遮罩式的導航頁。
工作原理
首先它需要一個目標 View 或者它的 id,我們通過 findViewById 來得到這個 View,計算它在屏幕上的區域 targetRect,通過這個區域,開始繪制一個覆蓋整個 Activity 的遮罩,可以定義遮罩的顏色和透明度,然而目標 View 被繪制成透明從而實現高亮的效果。接下來是在相對于這個 targetRect 的區域繪制一些圖片或者文字。我們把這樣一張圖片或者文字抽象成一個 Component 接口,設置文字或者圖片,所有的圖片文字都是相對于 targetRect 來定義的。可以設定額外的 x,y 偏移量,可以對遮罩系統設置可見狀態的發生變化時的監聽回調,可以對遮罩系統設置開始和結束時的動畫效,另外,我們可以不對整個 Activity 覆蓋遮罩,而是對某一個 View 覆蓋遮罩。
注意:具體用法參見 demo,內附詳細注釋
usage
public class SimpleComponent implements Component { @Override public View getView(LayoutInflater inflater) { LinearLayout ll = new LinearLayout(inflater.getContext()); LinearLayout.LayoutParams param = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); ll.setOrientation(LinearLayout.VERTICAL); ll.setLayoutParams(param); TextView textView = new TextView(inflater.getContext()); textView.setText(R.string.welcome); textView.setTextColor(inflater.getContext().getResources().getColor(R.color.color_white)); textView.setTextSize(20); ImageView imageView = new ImageView(inflater.getContext()); imageView.setImageResource(R.mipmap.arrow); ll.removeAllViews(); ll.addView(textView); ll.addView(imageView); ll.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(view.getContext(), "引導層被點擊了", Toast.LENGTH_SHORT).show(); } }); return ll; } @Override public int getAnchor() { return Component.ANCHOR_BOTTOM; } @Override public int getFitPosition() { return Component.FIT_START; } @Override public int getXOffset() { return 30; } @Override public int getYOffset() { return 0; } } public void showGuideView() { final GuideBuilder builder1 = new GuideBuilder(); builder1.setTargetView(button1) .setAlpha(150) .setOverlayTarget(true)//設置目標區域是否高亮顯示 .setOutsideTouchable(false); builder1.setOnVisibilityChangedListener(new GuideBuilder.OnVisibilityChangedListener() { @Override public void onShown() { // Toast.makeText(MutiGuideViewActivity.this, "show", Toast.LENGTH_SHORT).show(); } @Override public void onDismiss() { button2.post(new Runnable() { @Override public void run() { showGuideView2(); } }); // Toast.makeText(MutiGuideViewActivity.this, "dismiss", Toast.LENGTH_SHORT).show(); } }); builder1.addComponent(new SimpleComponent()); Guide guide = builder1.createGuide(); guide.setShouldCheckLocInWindow(false); guide.show(MutiGuideViewActivity.this); }
Android是一種基于Linux內核的自由及開放源代碼的操作系統,主要使用于移動設備,如智能手機和平板電腦,由美國Google公司和開放手機聯盟領導及開發。
關于怎么在Android中利用 GuideView實現首次登陸引導就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。