gpt4 book ai didi

android - 使用 XML 的特定于平板电脑的 ImageView 宽度/高度/等值?

转载 作者:太空狗 更新时间:2023-10-29 16:23:38 29 4
gpt4 key购买 nike

我正在使我的应用与平板电脑兼容,并且我正在尝试了解实现此目的的最佳方式。

我有一个 GridView,每个图像下面都有图像和文本。目前每张图片的高度都设置为 120dp 而不是 wrap_content ,这样它就可以缩放并正确对齐到它的高度,并且一切看起来都很均匀。方向更改效果很好,GridView 自动从 2xN 更改为 3xN。

现在我想把它放在平板电脑上,根据方向(在 10"平板电脑上),GridView 最终为 5xN 和 7xN。但是,为了使 GridView 看起来更好,我宁愿将图像高度更改为更大的值(例如 300dp)并且具有更少的较大尺寸的项目。执行此操作的最佳方法是什么?

我不想只提取元素并复制它的所有值,只更改一个值。理想情况下,我希望能够简单地将高度值放入类似 strings.xml 和 strings-xlarge.xml 的内容中,然后从布局中引用它。那可能吗?我真的很讨厌复制代码/资源。

谢谢。

最佳答案

您正在寻找的是 dimen 标签。它的工作方式与字符串标签类似,但适用于维度。你可以在 values/dimens.xml 中有这样的东西:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="image_size">120dp</dimen>
</resources>

在 values-xlarge/dimens.xml 中:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<dimen name="image_size">300dp</dimen>
</resources>

您的 XML 可以通过@dimen/image_size 引用大小,一切都会为您处理。您还可以通过 Context 中的 getResources().getDimension(R.dimen.image_size) 以编程方式访问它。

请注意,从 3.2 开始,您可以在资源名称中使用像素要求(例如 w720dp),而不是像 xlarge 这样的“桶”。更多信息 here .

关于android - 使用 XML 的特定于平板电脑的 ImageView 宽度/高度/等值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7961621/

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