메인화면

앱의 MainFrame을 구성합니다.

MainFrame

넥사크로플랫폼 앱의 기본 화면을 구성하는 요소입니다. 하위 구성 요소로 ChildFrame을 가지고 있으며 프로젝트와 함께 기본 생성됩니다.

1_mainframe

프레임 구조는 ChildFrame하나만 추가된 기본 구조를 그냥 사용합니다.

ChildFrame

ChildFrame은 MainFrame 하위에 올 수 있는 프레임으로 Form 정보를 Url 형태로 가지고 있어 해당 Form을 화면에 표시합니다. 기본적으로 Form이 로딩될 수 있는 기본 단위의 프레임을 의미합니다.

메인화면을 ChildFrame의 "formurl" 속성에 링크하여 넥사크로플랫폼 실행 시 화면을 표시합니다.

2_CF_formurl

메인화면

화면구성

소스참고
EduHub\mobile\Mobile_main.xfdl

Mobile_main.xfdl

1 Div(divBody)
메인 메뉴화면이 출력됩니다.

2 Div(divMain)
메인 메뉴에서 선택된 세부화면이 출력됩니다.

3 Div(divMenu)
관리자 로그인 시 관리자 메뉴화면이 출력됩니다.

Mobile_main.xfdl

  1. 앱 로딩시 첫 화면은 1 divBody에 메인 메뉴화면이 출력됩니다.

  2. 메인메뉴에서 메뉴를 클릭하면 선택된 화면 url정보를 받아서 2 divMain에 화면이 보여집니다.

  3. 2 divMain에 있는 < 뒤로 가기 이미지를 클릭하면 2 divMain을 감추고 1 divBody을 출력합니다.

메인화면( Body )

화면구성

소스참고
EduHub\mobile\Mobile_main_content.xfdl

005

1 Div
메인 메뉴화면의 컴포넌트를 Div에 구성합니다.

2 Button
주요 메뉴들을 버튼으로 구성하여 클릭 시 해당화면으로 이동합니다.

3 Button
여러 개의 버튼을 애니메이션 효과로 돌아가면서 볼 수 있도록 애니메이션으로 재배치합니다.

주요 기능 구현 설명

부모창에 있는 함수 호출하기

메뉴를 클릭하면 부모창에 있는 함수를 호출하여 해당 화면을 보여줍니다.

this.divBody_btnQuest_onclick = function(obj:nexacro.Button,e:nexacro.ClickEventInfo)
{
	if(this.parent.parent.fn_loginCheck() == false)
	{
		nexacro.getApplication().GV_TARGET_TITLE = "자가진단";
		nexacro.getApplication().GV_TARGET_URL = "mobile::Mobile_frmQuestionnaire.xfdl";

		this.parent.parent.fn_Login();
	} else {
		this.parent.parent.fn_openMenu("1010","");
	}  
};

모바일에서 디바이스 버튼 눌렀을 때 처리

안드로이드기반의 모바일인 경우 디바이스 버튼의 뒤로가기를 클릭했을 때 뒤로가기 기능을 처리합니다.

this.sPageFlag = "M";	//메인:M , sub: S, 서브안 detail: D
//안드로이드 뒤로가기
this.Mobile_main_ondevicebuttonup = function(obj:nexacro.Form,e:nexacro.DeviceButtonEventInfo)
{
	//다른화면들이 뜨는 경우
	var bFlag = this.divMain.visible;
	if(bFlag){
		this.sPageFlag = "S";
		this.fn_goMain();   
	}else{
		this.sPageFlag = "M";
	}     
    
	// MENU(1) CANCEL(2) 
	if (e.button == 2)    
	{
		if(this.sPageFlag == "M") //메인인 경우 종료팝업
		{
			var sMsgId = "edu.msg.program.exit";							
			var arrArg = "";
			var sPopId = sMsgId;			  								  
			this.gfn_alert(sMsgId, arrArg, sPopId, "fnMsgCallback");
		}
	}
};
Form의 ondevicebuttonup 이벤트는 모바일에서 디바이스 버튼을 눌렀을 때 발생하는 이벤트입니다. 

모바일에서 디바이스 버튼을 눌렀을 때 열려져 있는 화면이 메인인경우는 팝업을 종료하고 
메인화면의 메뉴가 선택되어 호출된 화면인 경우 메인화면으로 이동합니다.

전화걸기

this.fn_PhoneCall = function()
{
	system.execBrowser("tel:02-2140-7224");
}
system은 운영체제, 하드웨어, 입력장치등의 정보를 제공하는 오브젝트를 이고  execBrowser는 웹브라우저를 실행하는 메소드입니다. 
전화URL를 웹브라우저에 연결하여 전화걸기 기능을 수행합니다.

웹에서 a 태그를 이용하여 전화걸기 구현방법


<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title>모바일웹에서 전화걸기 링크 만들기</title>

</head>

<body>

<a href='tel:010-8670-0247'>전화하기</a>

</body>

</html>