您的位置 首页 传感器

android TabHost的运用介绍

最近使用tabhost,有一些新的,遂写在下面:tabhost的使用有一些固定的格式,首先要求在布局文件的格式为tabhost标签里面添加framelayout,在里面添加相应

最近运用tabhost,有一些新的,遂写在下面:

tabhost的运用有一些固定的格局,首要要求在布局文件的格局为tabhost标签里边增加framelayout,在里边增加相应的控件,至少包含一个framelayout和tabwidget,framelayout有必要命名为@android:id/tabcontent,tabwidget有必要命名为@android:id/tabs,这儿,tabcontent里边寄存的是加载的多个activity,tabs里边寄存的是与各个activity相对应的下面的按钮,这儿需求留意的是,我刚开始的时分布局文件设定结束,tabs便是显现不出来,最终发现需求在tabcontent里边设置android:layout_weight=1之后就能够了,不知道是什么原因,有大神知道请奉告小弟。

android:layout_width=match_parent

android:layout_height=match_parent

android:id=@android:id/tabhost>

android:layout_width=fill_parent

android:layout_height=fill_parent>

android:layout_width=fill_parent

android:layout_height=fill_parent

android:orientation=vertical

>

android:layout_width=fill_parent

android:layout_height=fill_parent

android:id=@android:id/tabcontent

android:background=#fff00000

android:layout_weight=1>

android:id=@+id/tvTabShpw

android:layout_width=fill_parent

android:layout_height=wrap_content

android:text=textviewshow

android:layout_gravity=bottom

android:gravity=center/>

android:layout_width=fill_parent

android:layout_height=wrap_content

android:id=@android:id/tabs

android:visibility=gone>

之后就只需求在对应的activity里边增加相应的activity就行了

tabhost = this.getTabHost();

tabhost.addTab(tabhost.newTabSpec(INDEX_HOME)

.setIndicator(INDEX_HOME)

.setContent(new Intent(this, NewHomeActivity.class)));

tabhost.addTab(tabhost.newTabSpec(INDEX_MESSAGE)

.setIndicator(INDEX_MESSAGE).setContent(new Intent(this,MessageActivityNew.class)));

tabhost.addTab(tabhost.newTabSpec(INDEX_PROFILE).setIndicator(INDEX_PROFILE)

.setContent(new Intent(this, SelfProfileActivity.class)));

tabhost.addTab(tabhost.newTabSpec(INDEX_SQUARE).setIndicator(INDEX_SQUARE)

.setContent(new Intent(this, SquareActivityNew.class)));

其间INDEX_SQUARE为activity的仅有标明,setIndicator设置的是tabs上实际的文字,setContent是显现的activity。

然后经过点击下面的tabs或许经过tabhost.setCurrentTab(0);来切换view。

一起setIndicator里边除了增加字符串,也能够增加view,美化一下。可是一般这样仍是不行漂亮,所以我就自定义了一个view盖住tabs,经过点击里边的事情动身tabhost.setCurrentTab(0);来切换view。

一起view切换的时分也能够增加恰当的动画作用:

Animation inAnim = null, outAnim = null;

if (tabhost.getCurrentTab() itemPos) {

outAnim = AnimationUtils

.loadAnimation(MainActivity.this,

R.anim.push_left_out);

inAnim = AnimationUtils.loadAnimation(

MainActivity.this, R.anim.push_left_in);

tabhost.getCurrentView().startAnimation(

outAnim);

tabhost.setCurrentTab(itemPos);

tabhost.getCurrentView()

.startAnimation(inAnim);

} else if (tabhost.getCurrentTab() > itemPos) {

outAnim = AnimationUtils.loadAnimation(

MainActivity.this,

R.anim.push_right_out);

inAnim = AnimationUtils

.loadAnimation(MainActivity.this,

R.anim.push_right_in);

tabhost.getCurrentView().startAnimation(

outAnim);

tabhost.setCurrentTab(itemPos);

tabhost.getCurrentView()

.startAnimation(inAnim);

} else {

tabhost.setCurrentTab(itemPos);

}

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/yingyong/chuanganqi/321248.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部