android之实现底部TabHost
先说布局文件,如下:利用android:layout_alignParentBottom="true" 实现底部显示
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
TabHost
xmlns:android
=
"http://schemas.android.com/apk/res/android"
android:id
=
"@android:id/tabhost"
android:orientation
=
"vertical"
android:layout_width
=
"fill_parent"
android:layout_height
=
"fill_parent"
>
<
RelativeLayout
android:background
=
"@drawable/g"
android:layout_width
=
"fill_parent"
android:layout_height
=
"fill_parent"
>
<
TabWidget
android:id
=
"@android:id/tabs"
android:layout_width
=
"fill_parent"
android:layout_height
=
"wrap_content"
android:layout_alignParentBottom
=
"true"
>
</
TabWidget
>
<
FrameLayout
android:id
=
"@android:id/tabcontent"
android:layout_width
=
"fill_parent"
android:layout_height
=
"fill_parent"
>
<
RelativeLayout
android:id
=
"@+id/tabFirst"
android:layout_width
=
"fill_parent"
android:layout_height
=
"fill_parent"
android:orientation
=
"vertical"
>
<
AnalogClock
android:id
=
"@+id/widget31"
android:layout_width
=
"wrap_content"
android:layout_height
=
"wrap_content"
android:layout_centerInParent
=
"true"
>
</
AnalogClock
>
</
RelativeLayout
>>
<
RelativeLayout
android:id
=
"@+id/tabSecond"
android:layout_width
=
"fill_parent"
android:layout_height
=
"fill_parent"
android:orientation
=
"vertical"
>
<
DigitalClock
android:layout_centerInParent
=
"true"
android:layout_width
=
"wrap_content"
android:layout_height
=
"wrap_content"
>
</
DigitalClock
>
</
RelativeLayout
>
</
FrameLayout
>
</
RelativeLayout
>
</
TabHost
>
下面是主程序代码,注释写的比较详细,这里就不在多解释了
package
com.cloay;
import
android.app.TabActivity;
import
android.graphics.Color;
import
android.os.Bundle;
import
android.widget.TabHost;
import
android.widget.TabHost.OnTabChangeListener;
import
android.widget.Toast;
public
class
TabTestActivity
extends
TabActivity {
TabHost tabHost;
@Override
public
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
setContentView(R.layout.main);
//获取TabHost对象
tabHost = getTabHost();
// tabHost.setup();
//新建一个newTabSpec,设置标签和图标(setIndicator),设置内容(setContent)
tabHost.addTab(tabHost.newTabSpec(
"Test one"
).setIndicator(
""
,getResources().getDrawable(android.R.drawable.ic_menu_call)).setContent(R.id.tabFirst));
tabHost.addTab(tabHost.newTabSpec(
"Test two"
).setIndicator(
""
,getResources().getDrawable(android.R.drawable.ic_menu_camera)).setContent(R.id.tabSecond));
//设置TabHost的背景颜色
tabHost.setBackgroundColor(Color.argb(
150
,
22
,
70
,
150
));
//设置TabHost的背景图片资源
// tabHost.setBackgroundResource(R.drawable.bg);
//设置当前现实哪一个标签
tabHost.setCurrentTab(
0
);
//0为标签ID
//标签切换处理,用setOnTabChangedListener
tabHost.setOnTabChangedListener(
new
OnTabChangeListener(){
public
void
onTabChanged(String tabId){
Toast.makeText(TabTestActivity.
this
,
"This is a Test!"
, Toast.LENGTH_LONG).show();
}
});
}
}