Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 是否可以通过XML将我的布局设置为正方形并与两个维度之一成比例?_Android_Layout - Fatal编程技术网

Android 是否可以通过XML将我的布局设置为正方形并与两个维度之一成比例?

Android 是否可以通过XML将我的布局设置为正方形并与两个维度之一成比例?,android,layout,Android,Layout,我认为这是办不到的,但我要问一下以防万一 我有一种情况,我希望网络视图是方形的。我需要它是两个可用维度中较小维度的80%,然后另一个维度的长度相同 因此,例如,如果用户在纵向模式下握住设备,我可以将父布局weightSum设置为10,将WebView的水平layout\u weight设置为8,然后让它自动将高度调整为任意宽度 我知道如何在Java中运行时做到这一点,我想知道我是否忽略了一些可以实现相同效果的奇特的schmancy XML技术 它可以很好地处理图像(使用adjustViewBou

我认为这是办不到的,但我要问一下以防万一

我有一种情况,我希望网络视图是方形的。我需要它是两个可用维度中较小维度的80%,然后另一个维度的长度相同

因此,例如,如果用户在纵向模式下握住设备,我可以将父布局
weightSum
设置为10,将WebView的水平
layout\u weight
设置为8,然后让它自动将高度调整为任意宽度

我知道如何在Java中运行时做到这一点,我想知道我是否忽略了一些可以实现相同效果的奇特的schmancy XML技术


它可以很好地处理图像(使用
adjustViewBounds
scaleType
),但这些参数对布局不可见

无法在SDK XML中完成


您必须使用代码,但IMHO不应该在片段/活动级别通过setLayoutParams()执行此操作,而应该在onMeasure()中对WebView(或其容器)进行子类化,并实现特殊的布局要求。

不能在SDK XML中完成


您必须使用代码,但IMHO不应该在片段/活动级别通过setLayoutParams()进行操作,而应该在onMeasure()中对WebView(或其容器)进行子类化,并实现您的特殊布局要求。

AFAIK,这本身并没有什么诀窍。您可以在Java中创建一个
SquareLayout
,并在XML中使用它,这样就不必到处重复Java代码。看:好吧,这本身并没有什么诀窍。您可以在Java中创建一个
SquareLayout
,并在XML中使用它,这样就不必到处重复Java代码。见: