6

koledzy Heyho,Android ConstraintLayout @dimens zastąpić wartości zakodowanych

obecnie uczę edytor nowy układ Android Studio z nowym ConstraintLayout.

Nawiasem mówiąc, nienawidzę tego.

Ale mam problem, że jeśli chcesz określić layout_height z @dimen, to dostaje zastąpiony z dp zamiast wartości.

Ktoś inny ma ten problem?

Android Studio wersja 2.2.2 & 2.2.3 sam problem.

Najnowsza wersja gradle.

Z góry dziękuję!

Edit:

przykładem Kod:

<?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> 

zdarza się także poza Scrollview.

+1

kod pocztowy tutaj xml –

+0

Tak naprawdę nie potrzebują wyraźnych linii kodu, zdarza się wszędzie .. – PadySo

+0

kliknięcie na wartości dp atrybutu. I sprawdź wymiary. –

Odpowiedz

1

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


Myślę, że powodem jest to, że ConstraintLayout jako układ WYSIWYG nieuchronnie ma być edytowany/manipulować tylko w edytorze wizualnym.

Dlatego utrzymywanie odniesień do wymiarów w pliku dimens.xml oznaczałoby, że jak tylko coś zmienisz, przeniesiesz niektóre elementy dookoła, nie będą one już istotne i zostaną zastąpione "rzeczywistymi wartościami bieżącymi".

Ponadto, jak wspomniano w docs:

Wszystkie marże oferowane przez narzędzie są czynniki 8dp, które pomogą wyrównać swoje poglądy na kwadratowe zaleceń siatki Materiał design 8dp.