欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android 新手引導(dǎo)蒙層效果實(shí)現(xiàn)代碼示例

 更新時(shí)間:2017年01月06日 16:28:37   作者:Kevin_Xu1114  
本篇文章主要介紹了Android 新手引導(dǎo)蒙層效果實(shí)現(xiàn)代碼示例,具有一定的參考價(jià)值,有興趣的可以了解一下。

先上效果圖:

這個(gè)效果一開始我是想直接讓UI給個(gè)切圖,后來發(fā)現(xiàn)這樣不行,適配很差,達(dá)不到效果。所以就自己動(dòng)手寫代碼,其實(shí)思路也很簡(jiǎn)單:在這個(gè)布局的父布局上面再手動(dòng)添加一個(gè)view(通常LinearLayout比較方便),然后把這個(gè)linearlayout的背景設(shè)置成#88000000,之后就是給這個(gè)linearlayout動(dòng)態(tài)增加子view,初步效果就能達(dá)到。

下面直接上代碼:

public void showGuideView() {

  View view = getWindow().getDecorView().findViewById(R.id.activity_main);
  if (view == null) return;

  ViewParent viewParent = view.getParent();
  if (viewParent instanceof FrameLayout) {
    final FrameLayout frameParent = (FrameLayout) viewParent;//整個(gè)父布局

    final LinearLayout linearLayout = new LinearLayout(this);//新建一個(gè)LinearLayout
    linearLayout.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
    linearLayout.setOrientation(LinearLayout.VERTICAL);
    linearLayout.setBackgroundResource(#88000000);//背景設(shè)置灰色透明
    linearLayout.setGravity(Gravity.CENTER_HORIZONTAL);
    linearLayout.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
       frameParent.removeView(linearLayout);
      }
    });

    Rect rect = new Rect();
    Point point = new Point();
    nearby.getGlobalVisibleRect(rect, point);
    //獲得nearby這個(gè)控件的寬高以及XY坐標(biāo) nearby這個(gè)控件對(duì)應(yīng)就是需要高亮顯示的地方

    ImageView topGuideview = new ImageView(this);
    topGuideview.setLayoutParams(new ViewGroup.LayoutParams(rect.width(), rect.height())); 
     topGuideview.setBackgroundResource(R.drawable.iv_topguide);

     Rect rt = new Rect();
     getWindow().getDecorView().getWindowVisibleDisplayFrame(rt);
    topGuideview.setY(point.y - rt.top);//rt.top是手機(jī)狀態(tài)欄的高度
    ImageView bottomGuideview = new ImageView(this);
    bottomGuideview.setLayoutParams(new ViewGroup.LayoutParams(WRAP_CONTENT, WRAP_CONTENT));
    bottomGuideview.setBackgroundResource(R.drawable.iv_bottomguide);
    bottomGuideview.setY(point.y + topGuideview.getHeight());

    linearLayout.addView(topGuideview);
    linearLayout.addView(bottomGuideview);
    frameParent.addView(linearLayout);
  }
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論