找到屏幕尺寸后更改 FrameLayout 的尺寸

发布于 2024-11-25 15:10:27 字数 266 浏览 0 评论 0原文

目前我有一个 FrameLayout 它将保存所拍摄照片的预览。它的大小是在我为其创建的布局 xml 文件中确定的,目前它只是设置为 fill_parent。然而,拍摄的图像的纵横比为 4:3,但这并不总是适合用户屏幕的纵横比。

例如,我的 Xperia X10 的分辨率为 480 X 854,相机拍摄的 4:3 图像始终会拉伸以适合 FrameLayout。

我想要做的是更改 XML 文件外部的 FrameLayout 的大小,使其为 4:3 并且适合用户屏幕尺寸。有什么想法吗?

At the moment I have a FrameLayout which will hold a preview of a picture taken. The size of this is determined in the layout xml file I created for it, at the moment its just set to fill_parent. However the image taken is at 4:3 aspect ratio, but this isn't always going to be the right aspect ratio for the users screen.

For example with my Xperia X10 which is 480 X 854, the 4:3 image taken by the camera always stretches to fit the FrameLayout.

What I want to do is change the size of the FrameLayout outside of the XML file so that it is 4:3 and a size appropriate for the users screen size. Any ideas?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

柠檬心 2024-12-02 15:10:27

我猜你在 FrameLayout 中使用 ImageView 来显示实际图片?在这种情况下,使用 scaleType 来定义图片应该如何伸展。

您可以在 XML 中进行设置,只需在 ImageView 标记内使用 android:scaleType=".." 即可。

I guess you are using an ImageView inside your FrameLayout to display the actual picture? In this case, use scaleType to define how the picture should be stretched.

You can set that in your XML, just use android:scaleType=".." inside your ImageView tag.

无人问我粥可暖 2024-12-02 15:10:27
 Framelayout.LayoutParams lp = new LinearLayout.LayoutParams(width, height);
 lv.setLayoutParams(lp);

尝试使用上面的代码...

 Framelayout.LayoutParams lp = new LinearLayout.LayoutParams(width, height);
 lv.setLayoutParams(lp);

Try using the above code...

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文