为了账号安全,请及时绑定邮箱和手机立即绑定

如何以编程方式调整自定义视图的大小?

如何以编程方式调整自定义视图的大小?

慕尼黑8549860 2019-10-25 14:48:21
我正在编码从RelativeLayout扩展的自定义视图,并且想以编程方式调整它的大小,该怎么办?自定义视图类类似于:public ActiveSlideView(Context context, AttributeSet attr){        super(context, attr);        LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);        if(inflater != null){                   inflater.inflate(R.layout.active_slide, this);        }
查看完整描述

3 回答

?
qq_花开花谢_0

TA贡献1835条经验 获得超7个赞

如果您无法传递视图的高度或宽度,则Android会引发异常。不要使用新的LayoutParams对象,而是使用原来的对象,以便保留所有其他设置的参数。请注意,getLayoutParams返回的LayoutParams类型是父布局的类型,而不是您要调整大小的视图。


RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) someLayout.getLayoutParams();

params.height = 130;

someLayout.setLayoutParams(params);


查看完整回答
反对 回复 2019-10-25
?
繁花不似锦

TA贡献1851条经验 获得超4个赞

this.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, theSizeIWant));

问题解决了!


注意:请确保使用父布局的LayoutParams。我的是LinearLayout.LayoutParams!


查看完整回答
反对 回复 2019-10-25
  • 3 回答
  • 0 关注
  • 395 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信