繁体   English   中英

MDPI中的360dp与xxhdpi不匹配

[英]360dp in MDPI not matching in xxhdpi

我有一张在mDPI上为360dp的图像,它占据了屏幕的整个宽度。 但是,当我在nexus 5x api 23 xxhdpi scren上查看图像时,它不会占用屏幕的整个宽度。 我以为MDPI上1dp等于1px,所以我可以将其用作标准。 那么MDPI上的360dp是最大宽度,因此在所有密度下它都将是最大宽度吗? 我想念什么?

这就是我尝试过的。 比较以下屏幕尺寸:

在此处输入图片说明

提供全屏输出:

在此处输入图片说明

这个与此相同的360dp:

在此处输入图片说明

在图像不占据全屏的情况下给出输出,为什么:

在此处输入图片说明

这就是为什么建议使用Ratio约束约束的原因?

我终于想通了。 这是构建ConstraintLayout来纠正这些问题的原因之一。 在这种特殊情况下,这与我使用的视图的纵横比有关。 因此,为了使其在左右活动中占据整个空间,我进行了以下操作并保持了宽高比。 请记住,我想要360 x 500的比例:

 <com.mobile.myapp.customViews.SwippableViewPager
                            android:id="@+id/pager"
                            android:layout_width="0dp"
                            android:layout_height="0dp"
                            android:layout_marginLeft="0dp"
                            android:layout_marginRight="0dp"
                            android:layout_marginTop="0dp"
                            app:layout_constraintDimensionRatio="H,360:500"
                            app:layout_constraintHorizontal_bias="0.0"
                            app:layout_constraintLeft_toLeftOf="parent"
                            app:layout_constraintRight_toRightOf="parent"
                            app:layout_constraintTop_toTopOf="parent" />

此概述对我学习constraintLayout非常有用。

保证这种情况的另一种方法是使用已被弃用的视图组android percentRelativeLayout

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM