tabhost界面
mTabHost = getTabHost();
//FileMianActivity
mTabHost.addTab(mTabHost
.newTabSpec(TabBindingConfig.FILE_PERSONAL)
.setIndicator(
TabBindingConfig.FILE_PERSONAL)
.setContent(new Intent(TabActivity.this, FileMianActivity.class)));
//ShareMainActivity
mTabHost.addTab(mTabHost
.newTabSpec(TabBindingConfig.SHARE_KNOWLEDGE)
.setIndicator(
TabBindingConfig.SHARE_KNOWLEDGE)
.setContent(new Intent(TabActivity.this, GropuActivity.class)));
//TransferMianActivity
mTabHost.addTab(mTabHost
.newTabSpec(TabBindingConfig.TRANSFER)
.setIndicator(
TabBindingConfig.TRANSFER)
.setContent(new Intent(TabActivity.this, TransferMianActivity.class)));
//MoreMianActivity
mTabHost.addTab(mTabHost
.newTabSpec(TabBindingConfig.MORE)
.setIndicator(
TabBindingConfig.MORE)
.setContent(
new Intent(TabActivity.this, MoreMianActivity.class)));
tabhost点击事件
switch (view.getId()) {
case R.id.main_layout1:
mImageview1.setImageResource(R.drawable.tab_fileclick);
mTextview1.setTextColor(Color.parseColor("#3788de"));
mTextviewIcon1.setVisibility(View.INVISIBLE);
mTabHost.setCurrentTabByTag(TabBindingConfig.FILE_PERSONAL);
break;
case R.id.main_layout2:
mImageview2.setImageResource(R.drawable.tab_shareclick);
mTextview2.setTextColor(Color.parseColor("#3788de"));
mTextviewIcon2.setVisibility(View.INVISIBLE);
// mTabHost.setCurrentTab(1);
mTabHost.setCurrentTabByTag(TabBindingConfig.SHARE_KNOWLEDGE);
break;
case R.id.main_layout3:
mImageview3.setImageResource(R.drawable.tab_transferclick);
mTextview3.setTextColor(Color.parseColor("#3788de"));
mTextviewIcon3.setVisibility(View.INVISIBLE);
mTabHost.setCurrentTabByTag(TabBindingConfig.TRANSFER);
break;
case R.id.main_layout4:
mImageview4.setImageResource(R.drawable.tab_moreclick);
mTextview4.setTextColor(Color.parseColor("#3788de"));
mImagIcon4.setVisibility(View.INVISIBLE);
mTabHost.setCurrentTabByTag(TabBindingConfig.MORE);
break;
default:
break;
activityGroup绑定
public static ActivityGroup group;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
group = this;
}
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
// super.onBackPressed();
//把后退事件交给子Activity处理
group.getLocalActivityManager()
.getCurrentActivity().onBackPressed();
}
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
//把界面切换放到onResume方法中是因为,从其他选项卡切换回来时,
//调用搞得是onResume方法
//要跳转的界面
Intent intent = new Intent(this, ShareMainActivity.class).
addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
//把一个Activity转换成一个View
Window w = group.getLocalActivityManager().startActivity("ShareMainActivity",intent);
View view = w.getDecorView();
//把View添加大ActivityGroup中
group.setContentView(view);
}
把第二个tab切换绑定成activitygroup跳转,但是不能实现
求各位大神指点,需要的话我可以把工程发给你
简单点的 可以看看http://www.cnblogs.com/xinye/archive/2012/08/28/2659712.html。
不过建议还是把这个看完http://blog.csdn.net/lmj623565791/article/details/37970961。
下面是基础的API,这个你必须得知道吧。
Fragment家族常用的API
Fragment常用的三个类:
android.app.Fragment 主要用于定义Fragment
android.app.FragmentManager 主要用于在Activity中操作Fragment
android.app.FragmentTransaction 保证一些列Fragment操作的原子性,熟悉事务这个词,一定能明白~
a、获取FragmentManage的方式:
getFragmentManager() // v4中,getSupportFragmentManager
b、主要的操作都是FragmentTransaction的方法
FragmentTransaction transaction = fm.benginTransatcion();//开启一个事务
transaction.add()
往Activity中添加一个Fragment
transaction.remove()
从Activity中移除一个Fragment,如果被移除的Fragment没有添加到回退栈(回退栈后面会详细说),这个Fragment实例将会被销毁。
transaction.replace()
使用另一个Fragment替换当前的,实际上就是remove()然后add()的合体~
transaction.hide()
隐藏当前的Fragment,仅仅是设为不可见,并不会销毁
transaction.show()
显示之前隐藏的Fragment
detach()
会将view从UI中移除,和remove()不同,此时fragment的状态依然由FragmentManager维护。
attach()
重建view视图,附加到UI上并显示。
transatcion.commit()//提交一个事务
需要注意的是 fragment 不管是 add还是 hide后,都必须要commit后,才提交修改。一般是把一系列add和hide写完后,再commit,但是,要特别注意你commit的时机。
actvitygroup过时了,用fragment吧,随便换
我是新手,请问怎么在tabhost里面嵌入fragment,有没有一个简单的Demo给我看看
我是新手,请问怎么在tabhost里面嵌入fragment,有没有一个简单的Demo给我看看