新手,如何重绘RelativeLayout?

loskill 2010-04-15 03:09:53
我自己写了个类继承RelativeLayout
public class ClientLayout extends RelativeLayout
{
public ClientLayout(Context context)
{
super(context);
}

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

@Override
protected void onDraw(Canvas canvas)
{
super.onDraw(canvas);
Paint paint=new Paint();
paint.setStyle(Style.FILL);
paint.setColor(Color.RED);
canvas.drawRect(0, 0, 100, 100, paint);
}
}
然后再Activity中创建。
ClientLayout layout=new ClientLayout(this);
layout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));
setContentView(layout);
可是无法画出红色的矩形来啊,从View继承就可以画出来,这是为什么啊?
...全文
690 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuruizhuyuan 2011-01-19
  • 打赏
  • 举报
回复
自己继承这个类后,怎么处理焦点呢?
loskill 2010-04-15
  • 打赏
  • 举报
回复
果真是要放到dispatchDraw里啊
yyy025025025 2010-04-15
  • 打赏
  • 举报
回复
@Override
protected void dispatchDraw(Canvas canvas)
{
super.dispatchDraw(canvas);
Paint paint=new Paint();
paint.setStyle(Style.FILL);
paint.setColor(Color.RED);
canvas.drawRect(0, 0, 100, 100, paint);
}

onDraw没有跑到。
yyy025025025 2010-04-15
  • 打赏
  • 举报
回复
@Override
protected void onDraw(Canvas canvas)
{
super.onDraw(canvas);
Paint paint=new Paint();
paint.setStyle(Style.FILL);
paint.setColor(Color.RED);
canvas.drawRect(0, 0, 100, 100, paint);
}

尝试把这段放在dispatchDraw里面。

80,351

社区成员

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

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