도래울

안드로이드(Android) Tab 컨트롤 하단에 붙이기 본문

개발/Android

안드로이드(Android) Tab 컨트롤 하단에 붙이기

도래울 2016. 2. 5. 11:40

안드로이드(Android) Tab 컨트롤 하단에 붙이기

 

개발환경 : JDK 1.5, eclipse-galileo, window XP, android Google API 2.1

 

이것은 편법인데 TabHost 안에 TabWidget 컨트롤의 위치를 아래로 내려버리는

것이다밑에 붙어있을수 있도록 할려면 TabWidget 옵션중 paddingTop 값을

화면 크기만큼 줘서 아래로 내린다.

그리고 탭당 들어가는 각각의 화면들은 FrameLayout 에다가 LinearLayout

화면들을 하나씩 추가해 배치시킨다.

하지만 탭아래 라인이 있어 그렇게 깔끔하게 보이지 않으며 화면 크기가

바뀔 때 마다 그 크기를 알아와서 paddingTop 값을 조정해야 되는

불편함이 있을 것 같다.

 

Xml 의 내용은 다음과 같다.


01<?xml version="1.0" encoding="utf-8"?> 
02<LINEARLAYOUT android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent">
03  
04    <TABHOST android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/edit_item_tab_host">
05  
06        <TABWIDGET android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@android:id/tabs" android:paddingTop="370px" />
07  
08        <FRAMELAYOUT android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@android:id/tabcontent" android:paddingTop="65px"
09            <LINEARLAYOUT android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/edit_item_date_tab" android:padding="5px">
10                <TEXTVIEW android:layout_width="wrap_content" android:layout_height="wrap_content" android:textStyle="bold" android:text="date" />
11            </LINEARLAYOUT
12            <LINEARLAYOUT android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/edit_item_geocontext_tab" android:padding="5px">
13                <TEXTVIEW android:layout_width="wrap_content" android:layout_height="wrap_content" android:textStyle="bold" android:text="lieu" />
14            </LINEARLAYOUT
15            <LINEARLAYOUT android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" android:id="@+id/edit_item_text_tab" android:padding="5px">
16            </LINEARLAYOUT
17        </FRAMELAYOUT
18    </TABHOST
19</LINEARLAYOUT>


전체 소스 부분이다

01import android.app.Activity; 
02import android.os.Bundle; 
03import android.widget.TabHost; 
04import android.widget.TabHost.TabSpec; 
05  
06import com.sample.R; 
07  
08public class TabBottom extends Activity{ 
09  
10    public void onCreate(Bundle savedInstanceState) { 
11        super.onCreate(savedInstanceState); 
12        setContentView(R.layout.tab_bottom); 
13  
14        TabHost tab_host = (TabHost) findViewById(R.id.edit_item_tab_host);
15            tab_host.setup();  
16  
17        TabSpec ts1 = tab_host.newTabSpec("TAB_DATE"); 
18        ts1.setIndicator("tab1"); 
19        ts1.setContent(R.id.edit_item_date_tab); 
20        tab_host.addTab(ts1); 
21  
22        TabSpec ts2 = tab_host.newTabSpec("TAB_GEO"); 
23        ts2.setIndicator("tab2"); 
24        ts2.setContent(R.id.edit_item_geocontext_tab); 
25        tab_host.addTab(ts2); 
26  
27        TabSpec ts3 = tab_host.newTabSpec("TAB_TEXT"); 
28        ts3.setIndicator("tab3"); 
29        ts3.setContent(R.id.edit_item_text_tab); 
30        tab_host.addTab(ts3); 
31  
32        tab_host.setCurrentTab(0); 
33  
34    }
35}


실행화면은 다음과 같다.


'개발 > Android' 카테고리의 다른 글

Android DatePicker  (0) 2016.02.05
[Android] Time Picker  (0) 2016.02.05
AbsoluteLayout (좌표로 만드는 레이아웃) 사용하기  (0) 2016.02.05
Android Intent 유용한 사용예제 모음  (0) 2016.02.05
[Android] - Context 란?  (0) 2016.02.05
Comments