版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
【移動(dòng)應(yīng)用開(kāi)發(fā)技術(shù)】安卓開(kāi)發(fā)底部tab的實(shí)現(xiàn)
1.MainActivity代碼:(也就是TabsFrame)packagecom.example.frametabhost;importcom.example.function.WebGo;importcom.example.licaizhuanjia.MainActivity;importcom.example.licaizhuanjia.R;importandroid.os.Bundle;importandroid.app.Activity;importandroid.content.Intent;importandroid.support.v4.app.FragmentActivity;importandroid.support.v4.app.FragmentTabHost;importandroid.view.KeyEvent;importandroid.view.Menu;importandroid.view.View;importandroid.widget.ImageView;importandroid.widget.TabHost.TabSpec;importandroid.widget.TextView;publicclassTabsFrameextendsFragmentActivity{
privateFragmentTabHostfragmentTabHost;
privateStringtexts[]={"開(kāi)始","好友","群組","更多"};
privateintp_w_picpathButton[]={R.drawable.selector1,
R.drawable.selector2,
R.drawable.selector3,
R.drawable.selector4};
privateClassfragmentArray[]={Page1.class,
Page2.class,
Page3.class,
Page4.class};
protectedvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.tabsframe);
//實(shí)例化tabhost
fragmentTabHost=(FragmentTabHost)findViewById(android.R.id.tabhost);
fragmentTabHost.setup(this,getSupportFragmentManager(),R.id.maincontent);
for(inti=0;i<texts.length;i++){
TabSpecspec=fragmentTabHost.newTabSpec(texts[i]).setIndicator(getView(i));
fragmentTabHost.addTab(spec,fragmentArray[i],null);
//設(shè)置背景(必須在addTab之后,由于需要子節(jié)點(diǎn)(底部菜單按鈕)否則會(huì)出現(xiàn)空指針異常)
fragmentTabHost.getTabWidget().getChildAt(i).setBackgroundResource(R.drawable.bgselector);
//背景替換}
}
privateViewgetView(inti){
//取得布局實(shí)例
Viewview=View.inflate(TabsFrame.this,R.layout.tabcontent,null);
//取得布局對(duì)象
ImageViewp_w_picpathView=(ImageView)view.findViewById(R.id.p_w_picpath);
TextViewtextView=(TextView)view.findViewById(R.id.text);
//設(shè)置圖標(biāo)
p_w_picpathView.setImageResource(p_w_picpathButton[i]);
//設(shè)置標(biāo)題
textView.setText(texts[i]);
returnview;
}
publicbooleanonKeyDown(intKeyCode,KeyEventEvent){
if(KeyCode==KeyEvent.KEYCODE_BACK){
Intentintent=newIntent(TabsFrame.this,MainActivity.class);
startActivity(intent);
finish();
}
returntrue;
}
}2.然后是4個(gè)Page,代碼都一樣publicclassPage1extendsFragment{
@Override
publicViewonCreateView(LayoutInflaterinflater,ViewGroupcontainer,BundlesavedInstanceState){
returninflater.inflate(R.layout.page1,null);
}}主要代碼就是這些然后是xml布局文件3.在tabsframe里<LinearLayoutxmlns:android="/apk/res/android"
xmlns:tools="/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<!--存放主要頁(yè)面內(nèi)容-->
<FrameLayout
android:id="@+id/maincontent"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1">
</FrameLayout>
<!--底層菜單-->
<android.support.v4.app.FragmentTabHost
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/tab_bg">
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="0">
</FrameLayout>
</android.support.v4.app.FragmentTabHost>
</LinearLayout>4.tabcontent.xml里是底部標(biāo)簽欄的圖標(biāo)<LinearLayoutxmlns:android="/apk/res/android"
xmlns:tools="/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:orientation="vertical">
<ImageView
android:id="@+id/p_w_picpath"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
/>
<TextView
android:id="@+id/text"
android:padding="2dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@android:color/white"
/>
</LinearLayout>5.在selector1,2,3,4里(寫(xiě)在drawable文件夾里)<?xmlversion="1.0"encoding="utf-8"?><selectorxmlns:android="/apk/res/android">
<itemandroid:drawable="@drawable/tab1"android:state_selected="true"></item>
<itemandroid:drawable="@drawable/tab1_hb"></item></selector>6.在bgselector.xml里<?xmlversion="1.0"encoding="utf-8"?><selectorxmlns:android="/apk/res/android">
<itemandroid:drawable="@drawable/tabsbg"android:state_pressed="true"></item>
<itemandroid:drawable="@drawable/tabsbg"android:state_selected="true"></item></selector>7.4個(gè)page的xml(4個(gè)都一樣的代碼)。<RelativeLayoutxmlns:android="/apk/res/android"
xmlns:tools="/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/tabframe1"
>
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 海藻膠提取工安全綜合強(qiáng)化考核試卷含答案
- 會(huì)議接待服務(wù)師安全培訓(xùn)競(jìng)賽考核試卷含答案
- 白酒貯酒工操作技能能力考核試卷含答案
- 玻璃制品裝飾工崗前工作技能考核試卷含答案
- 2024年湖南吉利汽車職業(yè)技術(shù)學(xué)院馬克思主義基本原理概論期末考試題附答案
- 2025年事業(yè)單位招聘考試《《行測(cè)》》真題庫(kù)1套
- 2024年溫州市工人業(yè)余大學(xué)輔導(dǎo)員考試筆試真題匯編附答案
- 2024年紹興理工學(xué)院輔導(dǎo)員招聘?jìng)淇碱}庫(kù)附答案
- 2024年燕京理工學(xué)院輔導(dǎo)員招聘考試真題匯編附答案
- 2024年運(yùn)城市遴選公務(wù)員考試真題匯編附答案
- 2026年公共部門人力資源管理試題含答案
- 2026年中國(guó)數(shù)聯(lián)物流備考題庫(kù)有限公司招聘?jìng)淇碱}庫(kù)有答案詳解
- 黑龍江省哈爾濱市師范大學(xué)附中2026屆數(shù)學(xué)高三第一學(xué)期期末質(zhì)量檢測(cè)模擬試題含解析
- 公司業(yè)務(wù)三年發(fā)展規(guī)劃
- 人力資源統(tǒng)計(jì)學(xué)(第二版)新課件頁(yè)
- 神經(jīng)內(nèi)科護(hù)士長(zhǎng)述職報(bào)告,神經(jīng)內(nèi)科護(hù)士長(zhǎng)年終述職報(bào)告
- 某辦公樓室內(nèi)裝飾工程施工設(shè)計(jì)方案
- 高考復(fù)習(xí)反應(yīng)熱
- 小學(xué)生常用急救知識(shí)PPT
- 中考英語(yǔ)選詞填空專項(xiàng)訓(xùn)練
- TOC-李榮貴-XXXX1118
評(píng)論
0/150
提交評(píng)論