怎么在Android中利用tipLayout实现一个带箭头的指引代码

  介绍

怎么在Android中利用tipLayout实现一个带箭头的指引代码?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

<强>引用方式

compile  & # 39; com.xiaowei: TriangleTipLayout: 1.0.0 # 39;

<强>实现思路

准备一个三角形指引的图片即可。

<强>先上代码

final  TextPaint  TextPaint =, mTextView.getPaint ();   ,,,final  int  textHeight =, (int), (textPaint.descent(),安康;textPaint.ascent ());   ,,,mRect.set (0,, DEFAULT_TOP_HEIGHT,, getWidth(),获得(),+,textHeight 作用;DEFAULT_TOP_HEIGHT);   ,,,canvas.drawRect (mRectPaint mRect也);   ,,,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(文本);   ,,,,,,,,,if  (LinearLayout viewParent  instanceof ), {   ,,,,,,,,,,,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,,,, 0,, mBitmapPaint);   ,,,}   以前,,}

核心代码如上,其思路是先绘制一个矩形,预留出三角形所需要的高度,最后将其三行图片绘制出来。

<强>配置指示器

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

注意:当调用setText之后会失效()重新绘制;

看完上述内容,你们掌握怎么在Android中利用tipLayout实现一个带箭头的指引代码的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!

怎么在Android中利用tipLayout实现一个带箭头的指引代码