gpt4 book ai didi

android - 为什么布局,设置为match_parent,显示宽度为0

转载 作者:行者123 更新时间:2023-11-29 21:15:55 28 4
gpt4 key购买 nike

我有以下代码:

llColors = (LinearLayout) findViewById(R.id.llColorSpect);
llColors.setOnTouchListener(llTouch);

width = llColors.getWidth();
height = llColors.getHeight();

Log.i("LAYOUT WIDTH", "width" +width); //shows 0
Log.i("LAYOUT HEIGHT", "height" +h); //shows the correct height

让我困惑的是为什么 LAYOUT WIDTH 是 0。在 XML 中,我将布局宽度设置为 match_parent 并将高度设置为 wrap_content.

如何将下面正在解码的 Bitmap 填充到高于 fill_parent 宽度的布局中?我是否使用 LayoutParams?

bitmap = BitmapFactory.decodeResource(this.getResources(), R.drawable.palette2);

XML 代码是这样的:

<LinearLayout
android:id="@+id/llColorSpect"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/palette2"
android:layout_alignParentBottom="true" >
</LinearLayout>

我想要完成的是 lehman 术语,采用布局并用背景图像填充它并使用像素获取 X 和 Y 坐标。

最佳答案

您过早地调用了 getWidth()。 UI 尚未在屏幕上调整大小和布局。

重写 onWindowFocusChanged() 函数后尝试获取大小:

@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
//Here you can get the size!
}

看看这个discussion

如果你想让你的位图匹配父级的高度和宽度,你可以使用这个:

LayoutParams params = new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
imageView.setImageBitmap(bitmap);
imageView.setLayoutParams(params);

希望这有帮助:)

关于android - 为什么布局,设置为match_parent,显示宽度为0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21465086/

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