我有一个具有ImageView的RelativeLayout,它具有以下属性,
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginRight="100dp"
android:layout_marginLeft="100dp"
android:layout_marginTop="100dp"
android:layout_marginBottom="300dp"
因此,显然100dp在不同的设备上看起来并不相同。 如何在平板电脑上使ImageView看起来与在手机上看起来一样?仅使用1个布局
答案 0 :(得分:0)
您可以使用ConstraintLayout
的{{1}}属性,以便大小始终相对于屏幕宽度和高度。
有关如何使用layout_constraintGuide_percent
来实现目标,请参阅the example in the docs of the (deprecated) PercentRelativeLayout
。
答案 1 :(得分:0)
问题在于您已将import numpy as np
def myfunc(A,sx=1.5,sy=3.5):
M, N = A.shape
J, I = np.meshgrid(range(N), range(M))
return np.dstack((I*sx, J*sy, A))
A=np.array([[1,2,3],[9,8,7]])
print(myfunc(A))
# array([[[ 0. , 0. , 1. ],
# [ 0. , 3.5, 2. ],
# [ 0. , 7. , 3. ]],
#
# [[ 1.5, 0. , 9. ],
# [ 1.5, 3.5, 8. ],
# [ 1.5, 7. , 7. ]]])
定义为屏幕大小,减去一些边距。所以在小屏幕上它会非常小,在大屏幕上它会非常大。
你最好只是简单地定义你希望它直接变大的程度。您的“手机”屏幕截图看起来像是在使用320dp宽屏幕,所以你可以写一下:
ImageView
现在,您的图像视图在每个屏幕上总是~2.5厘米宽/高,水平居中,距屏幕顶边约2厘米。