自己定义的一个TextView怎么没显示出来

YXTS122 2018-02-18 02:00:23
public class test_text extends TextView {
private String mText = "111",mNumber = "222";
private Paint mPaint;
private Rect mNumberRect;
public test_text(Context context) {
super(context);
}

public test_text(Context context, AttributeSet attrs) {
super(context,attrs);
}

public test_text(Context context, AttributeSet attrs, int defStyleAttr) {
super(context,attrs,defStyleAttr);
}

@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
mPaint = new Paint();
mPaint.setColor(Color.BLACK);
mPaint.setStyle(Paint.Style.STROKE);
canvas.drawRect(0, 0, getWidth(), getHeight(), mPaint);
canvas.drawCircle(getWidth()/6*4, getHeight()/4*3,getHeight()/4,mPaint);
mPaint.setTextSize(18);
mPaint.getTextBounds(mNumber, 0, mNumber.length(), mNumberRect);
canvas.drawText(mText, 2 ,getHeight()/5,mPaint);
canvas.drawText(mNumber, (getWidth()/6*4)-(mNumberRect.width()/2), (getHeight()/4*3)-(mNumberRect.hashCode()/2), mPaint);
}
}



...全文
1271 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
YXTS122 2018-02-23
  • 打赏
  • 举报
回复


YXTS122 2018-02-22
  • 打赏
  • 举报
回复
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
try {
setContentView(R.layout.activity_main);
}
catch (Exception e)
{
Toast.makeText(getApplication(),e.toString() ,Toast.LENGTH_LONG).show();
}
}



  • 打赏
  • 举报
回复
你把super.onDraw(canvas);放后面试试
YXTS122 2018-02-22
  • 打赏
  • 举报
回复
2楼能说清楚点吗,是重写哪个方法呀?
程序员一鸣 2018-02-22
  • 打赏
  • 举报
回复
继承于View,就会显示了,这个你只是在TextView的基础上扩展,显示你得重写方法

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧