惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
T
Threatpost
Scott Helme
Scott Helme
I
Intezer
Cloudbric
Cloudbric
Help Net Security
Help Net Security
Application and Cybersecurity Blog
Application and Cybersecurity Blog
Martin Fowler
Martin Fowler
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 【当耐特】
Google Online Security Blog
Google Online Security Blog
N
News | PayPal Newsroom
L
LINUX DO - 最新话题
罗磊的独立博客
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
GbyAI
GbyAI
月光博客
月光博客
Last Week in AI
Last Week in AI
MyScale Blog
MyScale Blog
A
Arctic Wolf
Y
Y Combinator Blog
S
SegmentFault 最新的问题
F
Full Disclosure
T
Tenable Blog
C
Cybersecurity and Infrastructure Security Agency CISA
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
T
The Exploit Database - CXSecurity.com
L
LangChain Blog
S
Secure Thoughts
Recorded Future
Recorded Future
C
Check Point Blog
Schneier on Security
Schneier on Security
Hugging Face - Blog
Hugging Face - Blog
L
Lohrmann on Cybersecurity
WordPress大学
WordPress大学
K
Kaspersky official blog
The Register - Security
The Register - Security
酷 壳 – CoolShell
酷 壳 – CoolShell
Apple Machine Learning Research
Apple Machine Learning Research
腾讯CDC
Cyberwarzone
Cyberwarzone
P
Palo Alto Networks Blog
Hacker News: Ask HN
Hacker News: Ask HN
The GitHub Blog
The GitHub Blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
F
Fortinet All Blogs
T
Threat Research - Cisco Blogs
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
博客园 - 叶小钗

博客园 - 生如夏花之灿烂

本人讲课时录制的Android应用开发技术教学视频 jsoup使用样式class抓取数据时空格的处理 我的第一款anroid软件作品--短信精灵1.0 (原创)Android入门教程(三十六)------实现手机联系人的全选 Android入门教程(三十五)------在Android上使用ZXing识别条形码/二维码(转) Android入门教程(三十四)------之多级树形菜单的实现 (转) Android入门教程(三十三)------之ListView自适应实现表格(转) Android入门教程(三十二)------之SQLite分页表格(转) Android入门教程(三十一)------SQLite分页读取(转) Android入门教程(三十)------之XML解析与生成(转) Android入门教程(二十九)------之BroadcastReceiver (转) Android入门教程(二十八)------之Service(转) Android入门教程(二十七)------之Style与Theme (转) Android入门教程(二十六)------之ActivityGroup + GridView 实现Tab分页标签(转) Android入门教程(二十五)------之画图(转) Android入门教程(二十四)------之Gallery + ImageSwitcher(转) Android入门教程(二十三)------之Gallery(转) Android入门教程(二十一)------之PopupWindow (转) Android入门教程(二十)之--之AlertDialog(转)
Android入门教程(二十二)------之TabHost,TabWidget(转)
生如夏花之灿烂 · 2011-08-11 · via 博客园 - 生如夏花之灿烂

本文来自http://blog.csdn.net/hellogv/ ,引用必须注明出处!

       这回要介绍的是Android的Tab控件,Tab控件可以达到分页的效果,让一个屏幕的内容尽量丰富,当然也会增加开发的复杂程度,在有必要的时候再使用。Android的Tab控件使用起来有点奇怪,必须包含和按照以下的顺序:

TabHost控件->TabWidget(必须命名为tabs)->FrameLayout(必须命名为tabcontent)。

接下来贴出本例运行的截图:

main.xml的源码:

  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <TabHost android:layout_width="fill_parent"  
  3.     android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android" android:id="@android:id/TabHost1">  
  4.     <TabWidget android:id="@android:id/tabs"  
  5.         android:layout_height="wrap_content" android:layout_width="fill_parent">  
  6. </TabWidget>  
  7.     <FrameLayout android:id="@android:id/tabcontent"  
  8.         android:paddingTop="65px" android:layout_width="fill_parent" android:layout_height="fill_parent">  
  9.         <LinearLayout android:layout_height="wrap_content" android:id="@+id/Tab1" android:orientation="vertical" android:layout_width="fill_parent">  
  10.            <EditText android:layout_height="wrap_content" android:id="@+id/edtTab1" android:layout_width="fill_parent"></EditText>  
  11.            <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/btnTab1" android:text="Tab1"></Button>  
  12.         </LinearLayout>  
  13.         <LinearLayout android:layout_height="wrap_content" android:id="@+id/Tab2" android:layout_width="fill_parent" android:orientation="horizontal">  
  14.            <EditText android:layout_height="wrap_content" android:id="@+id/edtTab2" android:layout_width="wrap_content" android:layout_weight="300"></EditText>  
  15.            <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/btnTab2" android:text="Tab2"></Button></LinearLayout>  
  16.     </FrameLayout>  
  17. </TabHost>  

程序源码:

  1. package com.testTab;  
  2. import android.app.TabActivity;  
  3. import android.os.Bundle;  
  4. import android.view.View;  
  5. import android.widget.Button;  
  6. import android.widget.EditText;  
  7. import android.widget.TabHost;  
  8. import android.widget.TabHost.TabSpec;  
  9. public class testTab extends TabActivity {  
  10.       
  11.     Button btnTab1,btnTab2;  
  12.     EditText edtTab1,edtTab2;  
  13.       
  14.     @Override  
  15.     public void onCreate(Bundle savedInstanceState) {  
  16.         super.onCreate(savedInstanceState);  
  17.         setContentView(R.layout.main);  
  18.           
  19.         TabHost tabs = getTabHost();  
  20.           
  21.         TabSpec tab1 = tabs.newTabSpec("tab1");  
  22.         tab1.setIndicator("tab1");        
  23.         tab1.setContent(R.id.Tab1);      
  24.         tabs.addTab(tab1);                  
  25.           
  26.         btnTab1=(Button)this.findViewById(R.id.btnTab1);  
  27.         edtTab1=(EditText)this.findViewById(R.id.edtTab1);  
  28.         btnTab1.setOnClickListener(new ClickEvent());  
  29.           
  30.           
  31.         TabSpec tab2 = tabs.newTabSpec("tab2");  
  32.         tab2.setIndicator("tab2");        
  33.         tab2.setContent(R.id.Tab2);      
  34.         tabs.addTab(tab2);                  
  35.           
  36.         btnTab2=(Button)this.findViewById(R.id.btnTab2);  
  37.         edtTab2=(EditText)this.findViewById(R.id.edtTab2);  
  38.         btnTab2.setOnClickListener(new ClickEvent());  
  39.           
  40.         tabs.setCurrentTab(0);  
  41.     }  
  42.       
  43.     class ClickEvent implements View.OnClickListener {  
  44.         @Override  
  45.         public void onClick(View v) {  
  46.             if(v==btnTab1)  
  47.             {  
  48.                 edtTab1.setText("tab1");  
  49.             }  
  50.             else if(v==btnTab2)  
  51.             {  
  52.                 edtTab2.setText("tab2");  
  53.             }  
  54.         }  
  55.       
  56.     }  
  57. }