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

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

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

白板的微信 2019-12-11 14:09:10
我正在编码从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 回答

?
慕桂英4014372

TA贡献1871条经验 获得超13个赞

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


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

params.height = 130;

someLayout.setLayoutParams(params);



查看完整回答
反对 回复 2019-12-12
?
catspeake

TA贡献1111条经验 获得超0个赞

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

问题解决了!


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


查看完整回答
反对 回复 2019-12-12
  • 3 回答
  • 0 关注
  • 329 浏览

添加回答

举报

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