안규 공부방

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이 적용되었다.
 
※ 혹시 도움이 되셨다면 댓글에 한마디 남겨주세요!
작성자   비밀번호
자동글 방지     (자동글 방지 기능입니다.)
내용   댓글달기 
이메일 문의 : cak0280@nate.com  
Copyright 2000 By ENTERSOFT.KR All Rights Reserved.