自动调整默认形状

Autosizing default shapes

我需要我的应用通过单击按钮从下方显示一个白色矩形。 有没有办法自动设置它的大小和填充,以便它可以在所有类型的设备上完美填充? 这是我的 XML 代码,它允许矩形从下方滑动:

XML:

<ImageView 
  android:id="@+id/viewtab"
  android:layout_width="359dp"    <!-- I'd like it autosized with padding-->
  android:layout_height="75dp" /> <!-- I'd like it autosized with padding-->

Java:

Vtab = (ImageView) findViewById(R.id.viewtab);
Vtab.setVisibility(VISIBLE);

是的,您可以添加一个库,例如

将以下依赖项添加到应用级别 gradle 文件 ..

implementation 'com.intuit.sdp:sdp-android:1.0.4'

然后像下面的代码一样给出大小..

    <ImageView
    android:id="@+id/viewtab"
    android:layout_width="@dimen/_359sdp"
android:layout_height="@dimen/_75sdp" />

然后所有设备尺寸相同。

快捷键:

也许你可以试试下面的库,它自动管理所有的屏幕尺寸分辨率。

compile 'com.intuit.sdp:sdp-android:1.0.4'

您只需在 build.gradle 文件中添加依赖项即可。

您需要指定如下:

android:layout_height="@dimen/_10sdp"

而不是:

android:layout_height="@dimen/10sdp"

第二种方式:

一样使用AndroidPercentRelativeLayout
<android.support.percent.PercentRelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ImageView
        android:id="@+id/viewtab"
        android:layout_width="80%"
        android:layout_width="0dp"
        android:layout_height="50%"
        android:layout_height="0dp"/>

</android.support.percent.PercentRelative

第三条路:

您必须为不同的屏幕创建不同的值文件夹。 喜欢

values-sw720dp          10.1” tablet 1280x800 mdpi

values-sw600dp          7.0”  tablet 1024x600 mdpi

values-sw480dp          5.4”  480x854 mdpi 
values-sw480dp          5.1”  480x800 mdpi 

values-xxhdpi           5.5"  1080x1920 xxhdpi
values-xxxhdpi           5.5" 1440x2560 xxxhdpi

values-xhdpi            4.7”   1280x720 xhdpi 
values-xhdpi            4.65”  720x1280 xhdpi 

values-hdpi             4.0” 480x800 hdpi
values-hdpi             3.7” 480x854 hdpi

values-mdpi             3.2” 320x480 mdpi

values-ldpi             3.4” 240x432 ldpi
values-ldpi             3.3” 240x400 ldpi
values-ldpi             2.7” 240x320 ldpi

如需了解更多信息,请访问此处

Different values folders in android

http://android-developers.blogspot.in/2011/07/new-tools-for-managing-screen-sizes.html

自动生成维度的插件

您可以使用名为 Dimenify 的 Android Studio 插件,根据自定义比例因子自动为其他像素桶生成维度值。它仍处于测试阶段,请务必通知您遇到的任何 issues/suggestions 开发人员。