Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.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 是否可以使用比率自动生成二聚体?_Android_Xml_Android Gradle Plugin - Fatal编程技术网

Android 是否可以使用比率自动生成二聚体?

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

我有一份申请。我输入的所有大小都是value-sw330dp/dimens.xml。此外,我还有一些值-sw266dp/dimens.xml,其中我放置了相同的项,但比率为0.8。这对我来说很好,这里没有问题


有可能使这项工作自动化吗?我只想在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自动生成尺寸值,在其中,您将只输入任何值,并使用
右键单击-->
生成
将能够自动生成您想要的所有其他值,并且使用相同的纵横比,您还可以提供平板电脑尺寸