Android 개발 의 TabActivity 사용법 실례 상세 설명
5684 단어 AndroidTabActivity
프로필
TabActivity 는 같은 화면 에 더 많은 내용 을 수용 하기 위해 Activity 에서 계승 합 니 다.TabActivity 는 탭 페이지 의 기능 을 실현 하고 네 비게 이 션 표시 줄 을 통 해 각 페이지 를 관리 합 니 다.
2.XML 레이아웃 파일
주의:
1.TabActivity 의 레이아웃 파일 은 TabHost 를 XML 레이아웃 파일 의 루트 로 요구 합 니 다.
2.보통 우 리 는 선형 구 조 를 사용 하기 때문에
3.
주의해 야 할 것 은
시스템 은 TabHost 의 두 인 스 턴 스 변 수 를 초기 화 하기 위해 두 개의 id 를 사용 하기 때 문 입 니 다(mTabWidget 과 mTabContent).
4.코드 예시
<?xml version="1.0" encoding="utf-8"?>
<TabHost android:id="@android:id/tabhost"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</TabWidget>
<FrameLayout android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>
</LinearLayout>
</TabHost>
3.TabActivity1.TabHost:TabHost 는 Tab 의 캐리어 로 Tab 를 관리 합 니 다.
2.TabHost 의 일부 함수
(1)가 져 오기
TabHost tabHost=this.getTabHost();
(2)TabHost.TabSpec 만 들 기
public TabHost.TabSpec newTabSpec (String tag)
(3)탭 추가
public void addTab (TabHost.TabSpec tabSpec)
(4)remove 모든 Tabs
public void clearAllTabs ()
public int getCurrentTab ()
(5) 현재 탭 설정(by index)
public void setCurrentTab (int index)
(6)현재 설정(Tab by tag)
public void setCurrentTabByTag (String tag)
(7)TabChanged 이벤트 응답 처리 설정
public void setOnTabChangedListener (TabHost.OnTabChangeListener l)
3.TabHost.TabSpec 에서 tab 의 label 과 content 를 설정 하려 면 TabHost.TabSpec 클래스 를 설정 해 야 합 니 다.TabHost.TabSpec 관리:
public String getTag ()
public TabHost.TabSpec setContent
public TabHost.TabSpec setIndicator
(1)Indicator 여기 Indicator 는 Tab 의 label 입 니 다.label 설정:
setIndicator (CharSequence label)
label 과 icon 설정:
setIndicator (CharSequence label, Drawable icon)
어떤 view 를 지정 합 니 다:
setIndicator (View view)
(2)Content 는 Content 에 대해 Tab 의 내용 이 므 로View 의 id 설정:
setContent(int viewId)
new Intent 로 다른 Activity 의 내용 을 도입 합 니 다:setContent(Intent intent)
package com.zhanglong.music;
import android.app.TabActivity;
import android.content.Intent;
import android.content.res.Resources;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
import android.widget.TabHost;
public class MainActivity extends TabActivity
{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.main);
Resources res = getResources();
TabHost tabHost = getTabHost();
TabHost.TabSpec spec;
Intent intent;
intent = new Intent().setClass(this, ListActivity.class);
spec = tabHost.newTabSpec(" ").setIndicator(" ",
res.getDrawable(R.drawable.item))
.setContent(intent);
tabHost.addTab(spec);
intent = new Intent().setClass(this, ArtistsActivity.class);
spec = tabHost.newTabSpec(" ").setIndicator(" ",
res.getDrawable(R.drawable.artist))
.setContent(intent);
tabHost.addTab(spec);
intent = new Intent().setClass(this, AlbumsActivity.class);
spec = tabHost.newTabSpec(" ").setIndicator(" ",
res.getDrawable(R.drawable.album))
.setContent(intent);
tabHost.addTab(spec);
intent = new Intent().setClass(this, SongsActivity.class);
spec = tabHost.newTabSpec(" ").setIndicator(" ",
res.getDrawable(R.drawable.album))
.setContent(intent);
tabHost.addTab(spec);
tabHost.setCurrentTab(0);
}
}
더 많은 안 드 로 이 드 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.본 고 에서 말 한 것 이 여러분 의 안 드 로 이 드 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.