我有一个xml
布局文件用于场地详细信息页面,它指定了几个线性布局,然后是地图视图。每个线性布局都有2 TextViews
,一个作为标题,另一个作为细节。页面底部是mapView
,显示场地的位置。
在大屏幕/平板电脑上,地图有足够的空间,看起来很好,在较小的屏幕上,例如在手机上,地图被挤进屏幕底部的这个小空间。 我对页面的主要布局感到满意,除了底部的地图。
我想要做的是指定地图的最小高度至少与可用宽度相同dp
- 即确保其正方形。如果地图有更多空间填充在屏幕底部 - 即使其成为纵向方形矩形,那么它应该这样做。
编辑:我不想减少LinearLayouts
已经动态的大小,因为他们提供的信息实际上是用户想要看到的内容。
下面的伪代码:
<com.google.android.gms.maps.MapView
android:id="@+id/mapView"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:minHeight="android:layout_width"
/>
我可以看到可以通过Java
代码执行此操作。我还可以看到我可以设置特定大小,例如320dp
,但这需要更多努力才能使大小适合多种屏幕尺寸。
这可能仅在xml
吗?
答案 0 :(得分:0)
有时间考虑@confused_at_times所做的评论,我认为事实上问题出在我的活动布局中,而不是xml中的不可用选项。
我选择的解决方案是将地图作为页面的主要元素,标记引脚可以点击,并在点击时显示所有可用的详细信息。
答案 1 :(得分:0)
对于大多数View
类型,XML无法实现。
如您所知,它可以在代码中完成,但我一直认为这种类型的功能会非常有用。
但是对于ImageView
,您可以使用adjustViewBounds
属性完成此类操作,例如,如果您希望在屏幕顶部显示横幅图片,并且您希望它的大小正确。< / p>
下面的XML显示了如何使用该属性:
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:adjustViewBounds="true"
android:scaleType="fitStart"
android:src="@drawable/big_image" />
第一印象是此图像在高度和高度均为match_parent
。宽度即填满屏幕。如果需要,scaleType
将允许它更改大小。
诀窍是将adjustViewBounds
设置为true
。
图像被缩放,但视图的下限被提升到新缩放图像的wrap_content
。
请记住,此方法不会拉伸较小的图像,但会在将较大的图像缩小到较小的屏幕时起作用。