中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在Android中利用 GuideView實現首次登陸引導

發布時間:2021-05-24 18:16:35 來源:億速云 閱讀:185 作者:Leah 欄目:移動開發

這篇文章給大家介紹怎么在Android中利用 GuideView實現首次登陸引導,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

GuideView

本系統能夠快速的為一個 Activity 里的任何一個 View 控件創建一個遮罩式的導航頁。

工作原理

首先它需要一個目標 View 或者它的 id,我們通過 findViewById 來得到這個 View,計算它在屏幕上的區域 targetRect,通過這個區域,開始繪制一個覆蓋整個 Activity 的遮罩,可以定義遮罩的顏色和透明度,然而目標 View 被繪制成透明從而實現高亮的效果。接下來是在相對于這個 targetRect 的區域繪制一些圖片或者文字。我們把這樣一張圖片或者文字抽象成一個 Component 接口,設置文字或者圖片,所有的圖片文字都是相對于 targetRect 來定義的。可以設定額外的 x,y 偏移量,可以對遮罩系統設置可見狀態的發生變化時的監聽回調,可以對遮罩系統設置開始和結束時的動畫效,另外,我們可以不對整個 Activity 覆蓋遮罩,而是對某一個 View 覆蓋遮罩。

注意:具體用法參見 demo,內附詳細注釋

怎么在Android中利用 GuideView實現首次登陸引導

怎么在Android中利用 GuideView實現首次登陸引導

怎么在Android中利用 GuideView實現首次登陸引導

怎么在Android中利用 GuideView實現首次登陸引導

怎么在Android中利用 GuideView實現首次登陸引導

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是什么

Android是一種基于Linux內核的自由及開放源代碼的操作系統,主要使用于移動設備,如智能手機和平板電腦,由美國Google公司和開放手機聯盟領導及開發。

關于怎么在Android中利用 GuideView實現首次登陸引導就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

扶风县| 星子县| 莫力| 枞阳县| 仪征市| 敖汉旗| 布尔津县| 册亨县| 洛阳市| 高台县| 瑞金市| 邢台市| 得荣县| 新河县| 盱眙县| 龙州县| 水城县| 三河市| 依安县| 会昌县| 宁阳县| 泰安市| 昆明市| 六枝特区| 黄大仙区| 白沙| 峨眉山市| 乐都县| 江北区| 蕉岭县| 西林县| 海安县| 托克逊县| 永靖县| 福清市| 沧州市| 雷州市| 龙江县| 宜宾县| 沽源县| 光泽县|