您的位置:首页 > 移动开发 > Android开发

android修改layout的形状 用代码方式非xml方式

2017-03-17 11:11 996 查看
感谢这个作者,找了好久才找到。
http://blog.sina.com.cn/s/blog_a73687bc0101ds68.html
(一)使用shapeDrawable + XXXShape
RelativeLayout loginForm  = newRelativeLayout(context);
RelativeLayout.LayoutParams loginFormLayout = newRelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, 200);
loginForm.setLayoutParams(loginFormLayout);
....
int radius = 15;
float[] outerR = new float[] { radius, radius, radius, radius,radius, radius, radius, radius };
RoundRectShape roundRectShape = new RoundRectShape(outerR,null, null);  // 构造一个圆角矩形,可以使用其他形状,这样ShapeDrawable就会根据形状来绘制。
//RectShape rectShape = new RectShape(); //如果要构造直角矩形可以
ShapeDrawable shapeDrawable = newShapeDrawable(roundRectShape); //组合圆角矩形和ShapeDrawable
shapeDrawable.getPaint().setColor(0xffC0C0C0);       //设置形状的颜色
shapeDrawable.getPaint().setStyle(Paint.Style.FILL);  // 设置绘制方式为填充
loginForm.setBackgroundDrawable(shapeDrawable);


  
注意:如果RoundRectShape设置了第2、3参数之后,只能看见形状的外部线条而没有填充,目前暂不知道原因。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐