마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

안드로이드 함수에 대해서 궁금한 것이 있습니다.

0 추천
 
 
위 링크는 안펍의 고또님이 예제로 올려주신 달력 소스 입니다.
 
저걸 토대로 약간 수정을 해보려고 하는데요, .
 
초반에 
 
public class gsCalendar extends Activity 에서
 
float m_displayScale ;   /// 화면 사이즈에 따른 텍스트 크기 보정값 저장용
 
float m_textSize ;    /// 텍스트 사이즈(위 라인의 변수와 곱해짐)
float m_topTextSize ;   /// 요일텍스트 사이즈(역시 보정값과 곱해짐)
 
int m_tcHeight = 50 ;   /// 요일 들어가는 부분 한칸의 높이
int m_cWidth = 50 ;    /// 한칸의 넓이
int m_cHeight = 50 ;   /// 한칸의 높이
int m_lineSize = 1 ;   /// 경계선의 굵기
 
 
 
이 변수들이, 달력의 크기[레이아웃]값을 지정해주는 것인데요..
핸드폰 마다 다른 크기로 주고싶어서, 값을 변경하려는데 어떻게 해야 할지 모르겠습니다.
일단 각 핸드폰의 deviceWidth,deviceHeight는 구했는데요.. 저 애들을 함수 안에 집어넣으면, 에러가 발생하더라구요.
밖으로 빼내야 다른 함수에서 저 값을 사용할 수있는 것 같습니다;
 
저 밑에 보면, 
public void setCalendarSize( int width, int height  )
{
        m_cWidth = ( width - ( m_lineSize * COLS - 1 ) ) / COLS ;
        m_cHeight = ( height - ( m_lineSize * ROWS - 1 ) ) / ROWS ;
        m_tcHeight = ( height - ( m_lineSize * COLS - 1 ) ) / COLS ;
}
이런식으로 달력의 한칸의 높이,길이가 이렇게 사용되는데.. 함수사용에 미숙해서 어떤식으로 기기마다 다른 값들(빨간색)을 넘겨줘야 하는지 모르겠습니다..ㅠㅠ; 혹시 함수나 다른 도움ㅇ ㅣ될만 것이있으면 조언 부탁드립니다..
 
 
 
anci (19,950 포인트) 님이 2014년 2월 14일 질문

1개의 답변

+2 추천
 
채택된 답변
달력을 생성하는 액티비티 내에서 setCalendarSize(width,height); 를 실행해주면 되겠네요. 크기를 몇으로 하는지 모르겠지만 대강 화면의 넓이 나누기 7, 화면의 높이 나누기 7정도면 되겠네요.

즉, setCalendarSize(deviceWidth/7,deviceHeight/7); 을 하면 되겠네요.

이건 화면의 넓이와 높이를 구한 뒤 바로 적용하거나 하면 되겠네요.
인연 (31,880 포인트) 님이 2014년 2월 14일 답변
anci님이 2014년 2월 14일 채택됨
아 감사합니다 ..
기기마다 다른 값을 어떻게 로직을 짜야 하나 걱정했는데,  말씀해주신대로 달력의 레이아웃을 담당하는 class에서
int m_tcHeight = 50 ;   /// 요일 들어가는 부분 한칸의 높이
int m_cWidth = 50 ;    /// 한칸의 넓이
int m_cHeight = 50 ;   /// 한칸의 높이
int m_lineSize = 1 ;   /// 경계선의 굵기
이 녀석들의 값을 deviceWidth와 height로 변경하니 수정하기도 훨씬 쉬워졌네요 감사합니다 ㅠㅠ
...