介绍
怎么在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实现一个带箭头的指引代码