안드로이드(Android) Tab 컨트롤 하단에 붙이기 |
개발환경 : JDK 1.5, eclipse-galileo, window XP, android Google API 2.1 |
이것은 편법인데 TabHost 안에 TabWidget 컨트롤의 위치를 아래로 내려버리는
것이다. 밑에 붙어있을수 있도록 할려면 TabWidget 옵션중 paddingTop 값을
화면 크기만큼 줘서 아래로 내린다.
그리고 탭당 들어가는 각각의 화면들은 FrameLayout 에다가 LinearLayout
화면들을 하나씩 추가해 배치시킨다.
하지만 탭아래 라인이 있어 그렇게 깔끔하게 보이지 않으며 화면 크기가
바뀔 때 마다 그 크기를 알아와서 paddingTop 값을 조정해야 되는
불편함이 있을 것 같다.
Xml 의 내용은 다음과 같다.
전체 소스 부분이다
import android.app.Activity; import android.os.Bundle; import android.widget.TabHost; import android.widget.TabHost.TabSpec; import com.sample.R; public class TabBottom extends Activity{ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.tab_bottom); TabHost tab_host = (TabHost) findViewById(R.id.edit_item_tab_host); tab_host.setup(); TabSpec ts1 = tab_host.newTabSpec("TAB_DATE"); ts1.setIndicator("tab1"); ts1.setContent(R.id.edit_item_date_tab); tab_host.addTab(ts1); TabSpec ts2 = tab_host.newTabSpec("TAB_GEO"); ts2.setIndicator("tab2"); ts2.setContent(R.id.edit_item_geocontext_tab); tab_host.addTab(ts2); TabSpec ts3 = tab_host.newTabSpec("TAB_TEXT"); ts3.setIndicator("tab3"); ts3.setContent(R.id.edit_item_text_tab); tab_host.addTab(ts3); tab_host.setCurrentTab(0); } }
실행화면은 다음과 같다.
'안드로이드 개발' 카테고리의 다른 글
안드로이드 위젯 컨트롤에 round 적용과 디자인 업그레이드 - Shape Drawable (1) | 2010.07.29 |
---|---|
안드로이드에서 2D 그래픽을 표현하기 위한 예제들 (0) | 2010.07.28 |
안드로이드(Android) 한글 로그 출력시 문자 깨지는 경우 (0) | 2010.07.28 |
안드로이드 (android) 에서 많이 사용하는 adb(Android Debug Bridge) 명령어 (6) | 2010.07.08 |
안드로이드(android) 다이얼로그(dialog) 종류별 구현 방법 (36) | 2010.07.05 |
안드로이드(Android) Tab 컨트롤 하단에 붙이기 (5) | 2010.07.02 |
댓글을 달아 주세요
궁금이 2010.10.20 12:48 댓글주소 수정/삭제 댓글쓰기
그냥 아래로 정렬을 해서 내리면 안되나요?
android:layout_alignParentBottom="true" 이런 코드로 가능하긴 한데,
위에 줄이 생기네요. 이거 해결법을 찾고 있는 중입니다.
잠이오나 2010.12.23 14:49 댓글주소 수정/삭제 댓글쓰기
http://stbaeya.com/tc/220
여기 보시면 가중치(weight)를 줘서 밑으로 보내는 간단한 방법이 있네요.^^
정보 감사합니다.
저도 요즘은 가중치로 넓이나 높이, 폰트 값을
주고 있어요. 워낙 해상도들이 다 틀려서
맞추기도 힘들더라구요 ..
담아갈게요~
감사합니다. ^^