亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Android 帶箭頭的指引tipLayout實現(xiàn)示例代碼

 更新時間:2018年01月23日 09:43:51   作者:上九樓的快活  
本篇文章主要介紹了Android 帶箭頭的指引tipLayout實現(xiàn)示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

本文介紹了Android 帶箭頭的指引tipLayout實現(xiàn)示例代碼,分享給大家,具體如下:

如上是從UI接過來的設(shè)計圖,要求三角形指示器需要動態(tài)對齊上面的文本,需要動態(tài)的實現(xiàn)對其三角形。

引用方式

compile 'com.xiaowei:TriangleTipLayout:1.0.0'

實現(xiàn)思路

準(zhǔn)備一個三角形指引的圖片即可。

先上代碼

final TextPaint textPaint = mTextView.getPaint();
    final int textHeight = (int) (textPaint.descent() - textPaint.ascent());
    mRect.set(0, DEFAULT_TOP_HEIGHT, getWidth(), getHeight() + textHeight - DEFAULT_TOP_HEIGHT);
    canvas.drawRect(mRect, mRectPaint);
    final String text = mTextView.getText().toString();
    float left = 0;
    if (mIsShowTriangle) {
      if (mGravity == Gravity.LEFT || mGravity == Gravity.START) {
        LayoutParams layoutParams = (LayoutParams) mTarget.getLayoutParams();
        left = mTarget.getLeft() - layoutParams.rightMargin - layoutParams.leftMargin;
      } else {
        if (mTarget instanceof TextView) {
          ViewParent viewParent = mTarget.getParent();
          float textWidth = textPaint.measureText(text);
          if (viewParent instanceof LinearLayout) {
            final float width = mTarget.getWidth() / 2;
            left = mTarget.getLeft() + width - (mBitmap.getWidth() / 2);
          } else if (viewParent instanceof RelativeLayout) {
            left = mTarget.getLeft() + textWidth / 2;
          }
        } else if (mTarget instanceof ImageView) {
          final float width = mTarget.getWidth();
          left = mTarget.getLeft() + (width / 2) - (mBitmap.getWidth() / 2);
        }
      }
      canvas.drawBitmap(mBitmap, left, 0, mBitmapPaint);
    }
  }

核心代碼如上,其思路是先繪制一個矩形,預(yù)留出三角形所需要的高度,最后將其三行圖片繪制出來。

配置指示器

mTipsLayout.setRectBackgroundColor(Color.parseColor("#FFF8BE"));
    mTipsLayout.setTextColor(Color.parseColor("#FF9B33"));
    mTipsLayout.setTriangleBitmap(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_triangle_arrow));
    mTipsLayout.setTriangleGravity(Gravity.START);
    mTipsLayout.bindView(findViewById(R.id.text2));
    mTipsLayout.setText("您今日收入已到達(dá)10W+,牛逼。保持努力");

注意:當(dāng)調(diào)用setText之后會invalidate()重新繪制;

實現(xiàn)效果如下

github: 源碼

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

相關(guān)文章

  • Android指紋識別功能

    Android指紋識別功能

    這篇文章主要為大家詳細(xì)介紹了Android指紋識別功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-07-07
  • Android RollPagerView實現(xiàn)輪播圖

    Android RollPagerView實現(xiàn)輪播圖

    這篇文章主要介紹了Android RollPagerView實現(xiàn)輪播圖的相關(guān)資料,這里提供實例來實現(xiàn)輪播圖的簡單實例,希望能幫助到大家,需要的朋友可以參考下
    2017-08-08
  • Kotlin中Suppress的非常規(guī)用法示例

    Kotlin中Suppress的非常規(guī)用法示例

    這篇文章主要給大家介紹了關(guān)于Kotlin中Suppress的非常規(guī)用法的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • Android開發(fā)中簡單設(shè)置啟動界面的方法

    Android開發(fā)中簡單設(shè)置啟動界面的方法

    這篇文章主要介紹了Android開發(fā)中簡單設(shè)置啟動界面的方法,涉及Android界面布局、加載、跳轉(zhuǎn)等相關(guān)操作技巧,需要的朋友可以參考下
    2018-01-01
  • Android自定義View實現(xiàn)葉子飄動旋轉(zhuǎn)效果(四)

    Android自定義View實現(xiàn)葉子飄動旋轉(zhuǎn)效果(四)

    這篇文章主要為大家詳細(xì)介紹了Android自定義View實現(xiàn)葉子飄動旋轉(zhuǎn)效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • Android中的Activity生命周期總結(jié)

    Android中的Activity生命周期總結(jié)

    這篇文章主要介紹了Android中的Activity生命周期總結(jié),本文講解了Activity四大基本狀態(tài)、Activity七大生命周期函數(shù)、切換橫豎屏觸發(fā)的生命周期事件等內(nèi)容,需要的朋友可以參考下
    2015-03-03
  • Flutter實現(xiàn)頁面路由及404路由攔截

    Flutter實現(xiàn)頁面路由及404路由攔截

    這篇文章介紹了Flutter實現(xiàn)頁面路由及404路由攔截的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-11-11
  • Android自定義ViewGroup實現(xiàn)彈性滑動效果

    Android自定義ViewGroup實現(xiàn)彈性滑動效果

    這篇文章主要為大家詳細(xì)介紹了Android自定義ViewGroup實現(xiàn)彈性滑動效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-12-12
  • Android開發(fā)騰訊驗證碼遇到的坑

    Android開發(fā)騰訊驗證碼遇到的坑

    這篇文章主要介紹了Android開發(fā)騰訊驗證碼遇到的坑,需要的朋友可以參考下
    2017-12-12
  • AsyncTask的三個屬性值和四個步驟

    AsyncTask的三個屬性值和四個步驟

    本文主要介紹了AsyncTask的三個屬性值和四個步驟,具有一定的參考價值,下面跟著小編一起來看下吧
    2017-01-01

最新評論