Android入门之TabHost一(不用xml,纯java)
来源:互联网 发布:java中list的用法 编辑:程序博客网 时间:2024/05/16 23:58
import android.app.Activity;import android.graphics.Color;import android.os.Bundle;import android.widget.FrameLayout;import android.widget.LinearLayout;import android.widget.TabHost;import android.widget.TabWidget;import android.widget.TextView;public class TabHostTestttActivity extends Activity {//Tab三要素TabHost tabHost=null;TabWidget tabWidget=null;FrameLayout fl=null; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //第一步,定义tabHost tabHost=new TabHost(this); LinearLayout.LayoutParams lp_tabHost=new LinearLayout.LayoutParams( -1,-1); tabHost.setLayoutParams(lp_tabHost); //第二步,定义tabWidget tabWidget=new TabWidget(this); tabWidget.setId(android.R.id.tabs);//注意ID的设置 tabWidget.setLayoutParams(new LinearLayout.LayoutParams(-1,-2)); //第三步,定义fl fl=new FrameLayout(this); fl.setId(android.R.id.tabcontent);//注意ID的设置 fl.setLayoutParams(new LinearLayout.LayoutParams(-1,-2)); TextView tv1=new TextView(this); tv1.setId(55); tv1.setTextColor(Color.BLACK); tv1.setText("hello1"); TextView tv2=new TextView(this); tv2.setId(66); tv2.setTextColor(Color.WHITE); tv2.setText("hello2"); fl.addView(tv1); fl.addView(tv2); //第四步 tabHost.addView(tabWidget); tabHost.addView(fl); //重点就在什么时候调用setup()函数,在这里就在这里 //必须有以上四步的基础,才能调用setup() tabHost.setup(); //重点:此步骤只能在setup()之后进行 tabHost.addTab(tabHost.newTabSpec("tag1").setIndicator("indicator1").setContent(55)); tabHost.addTab(tabHost.newTabSpec("tag2").setIndicator("指示2",this.getResources().getDrawable(R.drawable.ic_launcher)).setContent(66)); /* * 上一句程序等同如下: *TabSpec ts=tabHost.newTabSpec("tag2"); *ts.setIndicator("指示2",this.getResources().getDrawable(R.drawable.ic_launcher)); *ts.setContent(66); *tabHost.addTab(ts); */ setContentView(tabHost); }}
——————
——————
以上图示,有点选项卡的影子了,但是内容是现在是左上角,为什么呢?
因为tabhost本身就是framelayout的扩展,所以添加tabwidget和fl的内容都是默认在左上角重叠显示的,那么如何让tabwidget和fl分离呢?
办法就是在导入一个布局,可以是linearlayout或者relativelayout等,成为新的布局关系,以linearlayout为例,定义LinearLayout mainView
tabHost————mainView————(tabWidget、fl),见下篇
- Android入门之TabHost一(不用xml,纯java)
- Android入门之TabHost二(不用xml,纯java)
- Android入门之TabHost三(不用xml,纯java)
- Andorid入门之TabHost(纯java)
- Android入门之TextView(纯java)
- Android入门之EditText(纯java)
- Android入门之RadioGroup(纯java)
- Android入门之Spinner(纯java)
- Android入门之AutoCompleteTextView(纯java)
- Android入门之DatePicker(纯java)
- Android入门之TimePicker(纯java)
- Android入门之ScrollView(纯java)
- Android入门之ProgressBar(纯java)
- Android入门之SeekBar(纯java)
- Android入门之RatingBar(纯java)
- Android入门之ImageView(纯java)
- Android入门之ImageButton(纯java)
- Android入门之Gallery(纯java)
- SQL语句优化-重点在于使用到索引
- Boost 库
- 伤感语录:浅唱,没人懂的悲伤
- TP-设置WDS
- 积分图
- Android入门之TabHost一(不用xml,纯java)
- RefPtr and PassRefPtr Basics
- hive优化的几篇博文
- 谁,又把青春消耗在暗恋里了呢?伤感的QQ空间日志
- 随便举个例子,说明单线程比多线程编程提高性能
- 编程方法
- boost库的常用组件的使用
- 30 分钟快快乐乐学 SQL Performance Tuning
- 存储设备分区操作及文件系统管理概述