




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文由麦可网/ 收集整理,转载请注明出处。Android:TabWidget正文一、结构public class TabWidget extends LinearLayout implements View.OnFocusChangeListenerJava.lang.Objectandroid.view.Viewandroid.view.ViewGroupandroid.widget.LinearLayoutandroid.widget.TabWidget二、概述显示选项卡标签的列表,用于代表父选项卡集合的每一页。当前widget的容器对象是TabHost。当用户选择一个选项卡时,此对象给父容器对象TabHost发送一个消息,告诉TabHost切换到对应的页面显示。此对象上的很多方法,你通常不会直接使用。容器TabHost被用来添加标签,添加并管理回调函数。你可能会调用此对象以迭代选项卡列表,或者调整选项卡列表的布局,但大多数方法应该是通过容器TabHost对象调用。参见Tab Layout tutorial。三、XML属性属性名称描述android:divider可绘制对象,被绘制在选项卡窗口间充当分割物。android:tabStripEnabled确定是否在选项卡绘制android:tabStripLeft被用来绘制选项卡下面的分割线左边部分的可视化对象。android:tabStripRight被用来绘制选项卡下面的分割线右边部分的可视化对象。四、公共方法public void addView (View child)增加子视图。如果子视图没有设置布局参数,那么将为子视图设置此ViewGroup默认的布局参数。参数 child 新增的子视图public void childDrawableStateChanged (View child)如果调用addStatesFromChildren函数返回true,刷新此组的可视化对象的状态(包括它的子元素的状态)。参数child 可视化对象状态被改变的子元素。public void dispatchDraw (Canvas canvas)绘制时调用此方法来绘制子视图。派生类在被绘制之前,为获取控制可能会重写此方法(但必须在它自己的视图已经被绘制之后)。参数 canvas 绘制视图的画布(canvas)public void focusCurrentTab (int index)设置当前选项卡并且让其获得焦点。此方法确保获取焦点的选项卡窗口匹配选中的窗口,一般情况下类似 setCurrentTab(int)。通常当我们通过操作UI实现时,这些都不是问题,因为UI负责调用TabWidget.onFocusChanged(),但如果我们通过程序控制选中选项卡窗口,那么我们就必须确认保持焦点。(译者注:setCurrentTab(int)执行后,选中指定索引的选项卡窗口,但不获取焦点。focusCurrentTab(int)执行后,不仅通过调用setCurrentTab(int)选中指定索引的选项卡窗口还获取焦点。)参数index 你想要设置焦点(橘色高亮)并且选中(选项卡被至于部件widget的前端)的选项卡。参见setCurrentTab(int)public View getChildTabViewAt (int index)返回位于指定索引位置的选项卡标识符的视图 参数index 选项卡指示符视图返回的从零开始的索引返回值在提供的索引位置上的选项卡指示符视图public int getTabCount ()返回选项卡的数量返回值选项卡指示符视图的数量public boolean isStripEnabled ()指明选项卡指示符的底部分隔线是否绘制public void onFocusChange (View v, boolean hasFocus)当视图的焦点状态被改变时调用。参数 v 状态变化的视图hasFocus 视图的新焦点状态。public void sendAccessibilityEventUnchecked (AccessibilityEvent event)处理用于发送AccessibilityEvent的请求。如果再发送之前调度事件,本方法不保证可访问性检查。可以通过调用者调用isEnabled()检查。参数event 事件public void setCurrentTab (int index)设置当前选项卡。此方法被用来将选项卡置于widget的前部,并且通知其它的UI元素,一个不同的选项卡被调整到了前台。注意,这不同于传统的“焦点”,是从视图逻辑的焦点。例如,如果我们在选项卡式视图中有一个列表,一个用户可能会上下移动列表,通过列表选项移动UI焦点(橘色高亮)。光标的移动并不影响选项卡的选中状态,因为滚动 是在同一个选项卡上的。选中的选项卡仅仅当我们在选项卡上切换时(在此例中,从列表视图移到下一选项卡视图)更改。如果想要一次性的设置焦点并选中选项卡,请使用setCurrentTab(int)。正常情况下,视图逻辑关注调整焦点,除非你规避了UI,你可能仅仅将你的兴趣集中在这里。参数 index 你想要指做选中选项卡的选项卡索引(选项卡被显示到widget的前部)参见focusCurrentTab(int)public void setDividerDrawable (Drawable drawable)设置用于在选项窗口指示符间分隔的可绘制对象参数 drawable 用于分隔的可绘制对象public void setDividerDrawable (int resId)设置用于在两个选项卡标识符之间进行分隔的可绘制对象参数 resId 被用来分隔的可绘制对象的资源标识public void setEnabled (boolean enabled)设置当前视图的启用状态。子类的不同而其对应的启用状态的解释也不相同。参数enabled 是否启动public void setLeftStripDrawable (int resId)设置被用来当作选项卡指示符下面的分割线,左边部分的可绘制对象。参数 resId the 被用来当作左边分隔线的可绘制对象的资源标识符public void setLeftStripDrawable (Drawable drawable)设置被用来当作选项卡指示符下面的分割线,左边部分的可绘制对象。参数drawable 左边分隔线的可绘制对象public void setRightStripDrawable (int resId)设置被用来当作选项卡指示符下面的分割线,右边部分的可绘制对象。参数 resId 被用来当作右边分隔线的可绘制对象的资源标识符public void setRightStripDrawable (Drawable drawable)设置被用来当作选项卡指示符下面的分割线,右边部分的可绘制对象。参数drawable 右边分隔线的可绘制对象public void setStripEnabled (boolean stripEnabled)控制选项卡指示符底部的分隔线是否绘制。默认是绘制。如果用户为选项卡指示符指定一个定制的视图,那么TabHost类调用此方法以禁用绘制底部分割线。参数stripEnabled 如果需要绘制底部分割线为true五、受保护方法protected int getChildDrawingOrder (int childCount, int i)返回要绘制的子元素在当前迭代中的索引。如果你需要修改子元素的绘制顺序,可以覆写此方法。默认情况下返回参数i值。注意:为使此方法被调用,你必须先通过调用setChildrenDrawingOrderEnabled(boolean)启用子元素排序参数 i 当前的迭代值返回值将要绘制的子元素在当前迭代的索引protected void onSizeChanged (int w, int h, int oldw, int oldh)布局过程中,当此视图的大小发生改变时被调用的。如果你只是添加到视图的层次结构,你调用时可以使用0当作之前的值(old value)。参数 w 此视图的当前宽度 h 此视图的当前高度 oldw Old此视图之前的宽度oldh 此视图之前的高度六、补充术语对照 indicator 指示符 drawable 可绘制对象 iteration 迭代 strips 分割线文章精选Android选项卡(TabWidget)例子 Android学习指南TabWidgetAndroid将TAB选项卡放在屏幕底部示例代码Java:publicclassTabDemo1extendsActivityimplementsOnClickListenerTabHostmTabHost=null;TabWidgetmTabWidget=null;ButtonbtnVisiable,btnStrip;OverrideprotectedvoidonCreate(BundlesavedInstanceState)/TODOAuto-generatedmethodstubsuper.onCreate(savedInstanceState);setContentView(R.layout.tabdemo1);mTabHost=(TabHost)findViewById(android.R.id.tabhost);mTabHost.setup();mTabWidget=mTabHost.getTabWidget();mTabHost.addTab(mTabHost.newTabSpec(tab1).setContent(R.id.LinearLayout001).setIndicator(Tab1);mTabHost.addTab(mTabHost.newTabSpec(tab2).setContent(R.id.LinearLayout002).setIndicator(Tab2);mTabHost.addTab(mTabHost.newTabSpec(tab3).setContent(R.id.LinearLayout003).setIndicator(Tab3);/mTabHost.setCurrentTab(1);btnVisiable=(Button)findViewById(R.id.btnVisiable);btnStrip=(Button)findViewById(R.id.btnStrip);btnVisiable.setOnClickListener(this);btnStrip.setOnClickListener(this);setTitle(共有+mTabWidget.getTabCount()+个tab);OverridepublicvoidonClick(Viewv)/TODOAuto-generatedmethodstubswitch(v.getId()caseR.id.btnVisiable:if(mTabWidget.getVisibility()!=android.view.View.VISIBLE)mTabWidget.setVisibility(android.view.View.VISIBLE);elsemTabWidget.setVisibility(android.view.View.INVISIBLE)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中级职业安全员考试题库及答案解析
- 2025江苏省宿迁经济技术开发区教育系统招聘教师42人考前自测高频考点模拟试题带答案详解
- 2025年全科医师转岗培训理论必刷试题库及参考答案
- 2025年全国电工资格证考试题库及答案
- 2025年救护队员理论试题及答案
- 2025黑龙江鸡西市博物馆现公益性岗位招聘2人考前自测高频考点模拟试题及1套参考答案详解
- 2025药学事业单位试题及答案
- 3平米的卫生间施工方案
- 2025天津市河北区供热燃气有限公司招聘1人备考考试题库附答案解析
- 停车场普通照明施工方案
- 机械检验培训课件
- 福建民间信仰管理办法
- 2.2中国的气候课件-八年级地理上学期湘教版
- DB11∕T 1130-2024 公共建筑节能运行管理与监测技术规程
- 2025电化学储能电站技术监督规程第5部分:化学与环保技术监督
- ppp审计管理制度
- 小儿鼾症麻醉管理要点
- 健康评估(第3版)课件6-2 泌尿系统常见症状评估
- 2025年高考湖南省物理真题(含解析)
- 律师合伙人管理制度
- DZ/T 0275.3-2015岩矿鉴定技术规范第3部分:矿石光片制样
评论
0/150
提交评论