最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

先上效果圖:

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

下面直接上代碼:

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;//整個父布局

    final LinearLayout linearLayout = new LinearLayout(this);//新建一個LinearLayout
    linearLayout.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
    linearLayout.setOrientation(LinearLayout.VERTICAL);
    linearLayout.setBackgroundResource(#88000000);//背景設置灰色透明
    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這個控件的寬高以及XY坐標 nearby這個控件對應就是需要高亮顯示的地方

    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是手機狀態(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);
  }
}

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Kotlin?協(xié)程的取消機制詳細解讀

    Kotlin?協(xié)程的取消機制詳細解讀

    這篇文章主要為大家介紹了Kotlin?協(xié)程的取消機制詳細解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • Android繪制儀表盤指針刻度

    Android繪制儀表盤指針刻度

    這篇文章主要為大家詳細介紹了Android繪制儀表盤指針刻度,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-05-05
  • Android編程實現(xiàn)ListView內(nèi)容無限循環(huán)顯示的方法

    Android編程實現(xiàn)ListView內(nèi)容無限循環(huán)顯示的方法

    這篇文章主要介紹了Android編程實現(xiàn)ListView內(nèi)容無限循環(huán)顯示的方法,通過繼承Adapter類實現(xiàn)ListView中的數(shù)據(jù)無限循環(huán)顯示功能,需要的朋友可以參考下
    2017-06-06
  • Android中內(nèi)存泄漏需要的注意點

    Android中內(nèi)存泄漏需要的注意點

    在本篇文章里小編給大家整理了關于Android中內(nèi)存泄漏需要的注意點的相關內(nèi)容,有此需要的朋友們參考下。
    2019-06-06
  • 最新評論

    通州区| 荃湾区| 台北市| 额敏县| 石首市| 巨野县| 云安县| 雷州市| 新化县| 合肥市| 罗源县| 南康市| 安多县| 察雅县| 宾川县| 克拉玛依市| 报价| 东海县| 司法| 蒙山县| 北安市| 阳泉市| 晴隆县| 景德镇市| 西平县| 长子县| 新安县| 肥乡县| 伊川县| 眉山市| 牡丹江市| 前郭尔| 汕头市| 大宁县| 枣庄市| 临城县| 仙居县| 洛阳市| 麻江县| 阳城县| 巴东县|