gpt4 book ai didi

android - 使用 setLayoutParams() 但它不起作用

转载 作者:行者123 更新时间:2023-11-29 02:08:56 30 4
gpt4 key购买 nike

我创建了一个自定义 View - MyImageView - 在其中绘制位图,我使用 setLayoutParams() 设置我的 View 的宽度和高度,但它不起作用,我使用日志来跟踪我的 View 的宽度和高度,我发现都是0,为什么宽和高不都是300?这是我的主要 Activity 代码的一部分:

    myCanvas=new MyImageView(CanvasTest3Activity.this,Path);
LinearLayout.LayoutParams p=new LinearLayout.LayoutParams(300,300);
myCanvas.setLayoutParams(p);

这是我的 MyImageView 代码的一部分:

    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
int parentwidth=MeasureSpec.getSize(widthMeasureSpec);
int parentHeight=MeasureSpec.getSize(heightMeasureSpec);
int mywidth=(int)(parentHeight*0.5);
setMeasuredDimension(MeasureSpec.getSize(widthMeasureSpec),mywidth);
}

最佳答案

您需要获取父 View 并使用 add 方法添加您的 View + 您的 View 参数。像这样的东西:

“ParentViewInstance.add(this_is_my_child_view, this_is_the_layout_params_for_my_child_view)”

这意味着您的 subview 的 LayoutParams 的类型应该与 ParentView LayoutParams 的类型相同。看看这个answers代码示例。

关于android - 使用 setLayoutParams() 但它不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8545073/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com