본문 바로가기

나의 플랫폼/안드로이드

[Android] fraction resource

fraction 이라는 resource가 있다!

이것은 무엇인지 말씀 드리자면~


android 개발할 때, dimension 이나 integer 값을 xml resource로 정의를 해놓고 사용을 합니다.

워낙 폰이 다양하고 해상도가 다양하니 그에 따라 값을 편하게 조절하기 위해서이기도 하고,

그냥 숫자로 띡! 적어 놓는 것보다 이 값이 무엇에 쓰이는지 알아보기도 편하구요.


중요한 건, fraction이라는 resource는 무엇인가?

바로 percent 값을 정의해 두는 곳 입니다.


예를 들어 scale animation에서 pivotX나 pivotY 값에 percent값을 줍니다.


<?xml version="1.0" encoding="utf-8"?>
<set
xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter = "false"
android:shareInterpolator = "false">
<scale
android:interpolator="@android:anim/accelerate_decelerate_interpolator"
android:toXScale="0.0"
android:fromXScale="1.0"
android:toYScale="0.0"
android:fromYScale="1.0"
android:pivotX="80%"
android:pivotY="110%"
android:duration="200" />
</set>


퍼센트 값을 resource로 지정하고 싶을 경우


1. values/fraction.xml 파일을 만듭니다.

2. fraction 에 값을  추가합니다.

<?xml version="1.0" encoding="utf-8"?>
<resources>
<fraction name="pivot_x">80%</fraction>
</resources>

3. @fraction/으로 호출 합니다.

<?xml version="1.0" encoding="utf-8"?>
<scale xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:toXScale="1.0"
android:fromXScale="0.0"
android:toYScale="1.0"
android:fromYScale="0.0"
android:pivotX="@fraction/pivot_x"
android:pivotY="110%"
android:duration="300" />


다 아시겠지만, values 폴더 이름을 바꿔서 해상도 별로 percent값을 따로 줄수 있습니다.


참고하세요.