7

이 질문 How to make ConstraintLayout work with percentage values?이며, 그 대답은 백분율 사용하는 방법을 보여안드로이드 - ConstraintLayout 비율 사용 dimens

<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"/> 

그러나 당신은 비율을 하드 코딩 있지만하지 않는 DIMEN 자원을 사용하지 않으려면 작업.

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

당신은 다음과 같은 오류 얻을 : 당신이 1 값을 교체 할 경우

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

을, 비슷한 오류가 반환됩니다

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

는 어떻게 설정 않는 비율로 레이아웃에 값을 하드 코딩하지 않습니까?

답변

7

대신 DIMEN 리소스를 사용하는 입력 DIMEN의 항목 자원 사용의 정수를 사용하는 경우

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

integer 자원이 가장 적합한 것 :

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

+1

이 작동하는 경우 , IDE 버그 또는 빌드 도구 버그인데 두 방법 모두 차원 리소스가됩니다. – CommonsWare

+1

리소스를 dimen으로 정의하려면 측정 단위가 필요합니다. 'dimen' 유형의 항목으로 정의하는 것은 아닙니다. 또한 'float'형식을 추가 할 수도 있지만 반드시 필요하지는 않습니다. – neits

+0

아, 알겠습니다. 'float' 또는'integer' 리소스를 사용하고,'dimen'보다는 오히려 시도하십시오. – CommonsWare