tab.xml 布局
<?xml version="1.0" encoding="utf-8"?> <TabHost android:id="@android:id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <RelativeLayout android:id="@+id/relativeLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <FrameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="fill_parent" /> <TabWidget android:id="@android:id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentBottom="true"/> </RelativeLayout> </TabHost>
----- 其中 解决 TAB层 遮住 了后面 的 主层的解决办法 的 布局
<?xml version="1.0" encoding="utf-8"?> <TabHost android:id="@android:id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"> <LinearLayout android:id="@+id/relativeLayout1" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <FrameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_weight="1" android:layout_height="fill_parent" /> <TabWidget android:id="@android:id/tabs" android:layout_width="fill_parent" android:layout_weight="10" android:layout_height="fill_parent"/> </LinearLayout> </TabHost>
tab_list.xml
<?xml version="1.0" encoding="UTF-8"?> <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content" android:paddingTop="3dip" android:paddingBottom="3dip" android:background="#393C42" xmlns:android="http://schemas.android.com/apk/res/android"> <ImageView android:id="@+id/tab_imageview_icon" android:layout_width="fill_parent" android:layout_height="wrap_content" android:scaleType="fitCenter" /> <TextView android:id="@+id/tab_textview_title" android:textColor="#FFFFFF" android:textSize="10dip" android:ellipsize="marquee" android:gravity="center" android:layout_width="fill_parent" android:layout_height="wrap_content" android:singleLine="true" android:marqueeRepeatLimit="1" /> </LinearLayout>
主activity
package tab.mft; import cfg.mft.CfgIndex; import login.mft.LoginAddSensor; import login.mft.LoginIndexActivity; import remote2.mft.R; import android.app.TabActivity; import android.content.Intent; import android.graphics.Color; import android.os.Bundle; import android.view.View; import android.widget.ImageView; import android.widget.TabHost; import android.widget.TabHost.OnTabChangeListener; import android.widget.TextView; public class TabIndex extends TabActivity{ private TabHost tabHost; private static final String SYS = "系统"; private static final String SERVERS = "服务"; private static final String MORE = "更多"; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.tab); tabHost=getTabHost(); final View view=View.inflate(TabIndex.this, R.layout.tab_list, null); view.setBackgroundColor(Color.rgb(33,36,41)); //默认第一个点亮 ((ImageView)view.findViewById(R.id.tab_imageview_icon)).setImageResource(R.drawable.icon_home_sel); //默认第一个点亮 ((TextView)view.findViewById(R.id.tab_textview_title)).setText(SYS); TabHost.TabSpec tabSpec=tabHost.newTabSpec(SYS).setIndicator(view).setContent(new Intent(TabIndex.this, LoginIndexActivity.class)); tabHost.addTab(tabSpec); final View view1=View.inflate(TabIndex.this, R.layout.tab_list, null); ((ImageView)view1.findViewById(R.id.tab_imageview_icon)).setImageResource(R.drawable.icon_selfinfo_nor); ((TextView)view1.findViewById(R.id.tab_textview_title)).setText(SERVERS); TabHost.TabSpec tabSpec1=tabHost.newTabSpec(SERVERS).setIndicator(view1).setContent(new Intent(TabIndex.this, LoginAddSensor.class)); tabHost.addTab(tabSpec1); final View view2=View.inflate(TabIndex.this, R.layout.tab_list, null); ((ImageView)view2.findViewById(R.id.tab_imageview_icon)).setImageResource(R.drawable.icon_more_nor); ((TextView)view2.findViewById(R.id.tab_textview_title)).setText(MORE); TabHost.TabSpec tabSpec2=tabHost.newTabSpec(MORE).setIndicator(view2).setContent(new Intent(TabIndex.this, LoginAddSensor.class)); tabHost.addTab(tabSpec2); tabHost.setCurrentTab(0); //设置切换监听 tabHost.setOnTabChangedListener(new OnTabChangeListener(){ public void onTabChanged(String tabId){ ((ImageView)view.findViewById(R.id.tab_imageview_icon)).setImageResource(R.drawable.icon_home_nor); view.setBackgroundColor(Color.rgb(57,60,66)); ((ImageView)view1.findViewById(R.id.tab_imageview_icon)).setImageResource(R.drawable.icon_selfinfo_nor); view1.setBackgroundColor(Color.rgb(57,60,66)); ((ImageView)view2.findViewById(R.id.tab_imageview_icon)).setImageResource(R.drawable.icon_more_nor); view2.setBackgroundColor(Color.rgb(57,60,66)); if(tabId.equals(SYS)){ ((ImageView)view.findViewById(R.id.tab_imageview_icon)).setImageResource(R.drawable.icon_home_sel); view.setBackgroundColor(Color.rgb(33,36,41)); } if(tabId.equals(SERVERS)){ ((ImageView)view1.findViewById(R.id.tab_imageview_icon)).setImageResource(R.drawable.icon_selfinfo_sel); view1.setBackgroundColor(Color.rgb(33,36,41)); } if(tabId.equals(MORE)){ ((ImageView)view2.findViewById(R.id.tab_imageview_icon)).setImageResource(R.drawable.icon_more_sel); view2.setBackgroundColor(Color.rgb(33,36,41)); } } }); } }