7

有一個問題How to make ConstraintLayout work with percentage values?及其答案演示如何使用百分比:的Android - ConstraintLayout使用百分比夢詩

<android.support.constraint.Guideline 
    android:id="@+id/guideline" 
    android:layout_width="1dp" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    app:layout_constraintGuide_percent="0.5"/> 

但是,如果你不想硬編碼的百分比,但使用它不是一個捫資源工作。

<!-- inside the layout --> 

<android.support.constraint.Guideline 
    android:id="@+id/guideline" 
    android:layout_width="1dp" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    app:layout_constraintGuide_percent="@dimen/guideline_perc"/> 

<!-- inside dimens.xml --> 

<dimen name="guideline_perc>0.5</dimen> 

您會收到以下錯誤:

Float types not allowed (at 'guideline_perc' with value 0.5).

如果你用1替換值,則返回一個類似的錯誤:

Integer types not allowed (at 'guideline_perc' with value 1).

你怎麼設置沒有將值硬編碼到佈局中的百分比?

回答

7

而不是使用一個捫資源的使用類型捫的項目資源:如果使用整數

<item name="guideline_perc" type="dimen">0.5</item>

,一個integer資源將工作最好:

<integer name="guideline_perc">1</integer>

+1

如果這個作品,那麼這就是IDE錯誤或構建工具錯誤,因爲兩種方法都會產生維度資源。 – CommonsWare

+1

將資源定義爲維度需要一個度量單位。將它定義爲「dimen」類型的項目不會。另外可以添加格式「float」,但不是必需的。 – neits

+0

啊,我明白了。嘗試使用「float」或「integer」資源,然後嘗試使用「dimen」。 – CommonsWare