Android ConstraintLayout @dimens替换为硬编码值

时间:2016-12-07 12:54:19

标签: android dimensions dimension android-constraintlayout

Heyho伙伴,

目前我正在使用新的 ConstraintLayout 学习Android Studio的新布局编辑器

顺便说一句,我讨厌它。

但我遇到了问题,如果我想用 @dimen 指定 layout_height ,则替换 相反,dp 值。

有人遇到过这个问题吗?

Android Studio版本2.2.2& 2.2.3同样的问题。

最新的gradle版本。

先谢谢你们!

编辑:

代码示例:

<?xml version="1.0" encoding="utf-8"?>

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <android.support.constraint.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">


        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="@dimen/imageViewHeight"
            app:srcCompat="@drawable/accept"
            android:id="@+id/imageView"
            android:layout_marginStart="16dp"
            app:layout_constraintLeft_toLeftOf="parent"
            android:layout_marginLeft="16dp"
            android:layout_marginTop="16dp"
            app:layout_constraintTop_toTopOf="parent" />
    </android.support.constraint.ConstraintLayout>

</ScrollView>

也会在scrollview外发生。

1 个答案:

答案 0 :(得分:1)

Turns out this is a bug and will be fixed in Android Studio 2.3.

我认为这背后的原因是,作为WYSIWYG布局的ConstraintLayout不可避免地只能在可视化编辑器中进行编辑/操作。

因此,在dimens.xml中保留对维度的引用意味着只要你改变某些东西,移动一些元素,这些就不再相关,因此被替换为&#34;实际的当前值&#34;。

同样如docs中所述:

<击>   

该工具提供的所有边距都是8dp的因子,可帮助您的视图与Material Design的8dp方格网建议保持一致。