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

我正在编码从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);

        }



白板的微信
浏览 330回答 3
3回答

慕桂英4014372

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

catspeake

this.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT, theSizeIWant));问题解决了!注意:请确保使用父布局的LayoutParams。我的是LinearLayout.LayoutParams!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android