Android > resource - 크기 리소스 <dimen>
등록일 : 2017-07-05 16:57
조회수 : 93,849
크기 리소스는 보통 /res/values/dimens.xml 에서 관리한다.
dimens.xml 파일에 <dimen>를 새로 등록한 후, xml과 java에서 호출하여 보자.
1. res(리소스)에 <dimen> 등록하기
/res/values/dimens.xml 파일에 등록한다.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
<dimen name="wide_size">40px</dimen>
</resources>
- "activity_horizontal_margin", "activity_vertical_margin"은 default로 설정되어 있다.
- name을 "wide_size"로 <dimen<을 등록한다.
- 크기는 40px 로 등록한다.
2. layout의 xml에서 리소스 <dimen> 가져오기
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:id="@+id/TextView01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/sample1"
android:textSize="@dimen/wide_size" />
</RelativeLayout>
- id : TextView01로 TextView 등록
- 문자열은 sample1 이름으로 등록된 string 리소스 등록
- "wide_size"로 등록된 <dimen> 리소스를 문자열 크기로 지정 ( android:textSize="@dimen/wide_size" )
실행화면을 보자!
- 텍스트에 <dimen>의 값 크기 40px 이 적용되었다.
3. Activity.java 에서 <dimen> 리소스 가져오기
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// getResources().getDimension() 으로 리소스에서 <dimen> 값 호출
float wideSize = getResources().getDimension(R.dimen.wide_size);
// id : TextView01 인 TextView 호출
TextView textView01 = (TextView)findViewById(R.id.TextView01);
// textView01의 문자열 크기를 <dimen>에서 불러온 크기로 셋팅
textView01.setTextSize(wideSize);
}
}
- getResources().getDimension() 으로 리소스에 등록한 <dimen>을 가져온다.
- TextView를 호출 한 후, setTextSize() 로 가져온 <dimen> 크기를 적용한다.
실행화면을 보자!
- TextView01에 <dimen> 값 40px이 적용되었다.