Android 是否可以使用比率自动生成二聚体?
我有一份申请。我输入的所有大小都是value-sw330dp/dimens.xml。此外,我还有一些值-sw266dp/dimens.xml,其中我放置了相同的项,但比率为0.8。这对我来说很好,这里没有问题Android 是否可以使用比率自动生成二聚体?,android,xml,android-gradle-plugin,Android,Xml,Android Gradle Plugin,我有一份申请。我输入的所有大小都是value-sw330dp/dimens.xml。此外,我还有一些值-sw266dp/dimens.xml,其中我放置了相同的项,但比率为0.8。这对我来说很好,这里没有问题 有可能使这项工作自动化吗?我只想在values-sw330dp/dimens.xml中填充值,当我构建project时,Gradle将以指定的比率生成values-sw266dp/dimens.xml。您可以将布局小部件的宽度定义为match\u parent,高度定义为wrap\u co
有可能使这项工作自动化吗?我只想在values-sw330dp/dimens.xml中填充值,当我构建project时,Gradle将以指定的比率生成values-sw266dp/dimens.xml。您可以将布局小部件的宽度定义为
match\u parent
,高度定义为wrap\u content
。然后定义一些全局比率参数
然后做一些类似的事情:
layoutView.addOnLayoutChangeListener(
new View.OnLayoutChangeListener() {
@Override
public void onLayoutChange (View v,
int left,
int top,
int right,
int bottom,
int oldLeft,
int oldTop,
int oldRight,
int oldBottom) {
viewHeightPixel = (int) (layoutView.getWidth() / VIEW_RATIO);
ViewGroup.LayoutParams lp;
lp = layoutView.getLayoutParams();
if (lp.height != viewHeightPixel ) {
lp.height = viewHeightPixel ;
layoutView.setLayoutParams(lp);
}
layoutView.removeOnLayoutChangeListener(this);
}
}
);
通过这种方式,您不会将视图“绑定”到特定的高度/宽度,这将在更改比率/尺寸时给您的生活带来困难您可以使用一种奇妙的工具为mdpi、hdpi、xhdpi、xxhdpi、xxxhdpi自动生成尺寸值,在其中,您将只输入任何值,并使用
右键单击-->生成
将能够自动生成您想要的所有其他值,并且使用相同的纵横比,您还可以提供平板电脑尺寸