如何将TabBar放置底部? 在xml布局文件中,将TabWidget放于FrameLayout的下面(两者是垂直线性的关系),并分配各个组件的权重另外,如果想去掉Tab中那个丑陋的白线,可以通过设置其Padding实现.
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="0dip"
android:layout_weight="1"
/>
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:background="#ff000000"
/>
</LinearLayout>
</TabHost>
import oneRain.UpClass.R;
import android.app.TabActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.widget.TabHost;
import android.widget.TabWidget;
public class MainActivity extends TabActivity
{
private TabHost tabHost = null;
private TabWidget tabWidget = null;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
initView();
}
//初始化View
private void initView()
{
tabHost = (TabHost)findViewById(android.R.id.tabhost);
LayoutInflater.from(this).inflate(R.layout.main, tabHost.getTabContentView(), true);
tabWidget = tabHost.getTabWidget();
//初始化TabActivity中的各个TabContent
tabHost.addTab(tabHost.newTabSpec("remote").
setIndicator("Remote").setContent(new Intent(this, RemoteActivity.class)));
tabHost.addTab(tabHost.newTabSpec("local").
setIndicator("Local").setContent(new Intent(this, LocalActivity.class)));
tabHost.addTab(tabHost.newTabSpec("homepage").
setIndicator("HomePage").setContent(new Intent(this, HomePageActivity.class)));
//设置开始就显示的页面,可以在这里做如果是网络没连接则跳转到本地
tabHost.setCurrentTab(0);
//通过向下移动TabWidget实现去掉底部白线
tabHost.setPadding(tabHost.getPaddingLeft(), tabHost.getPaddingTop(),
tabHost.getPaddingRight(), tabHost.getPaddingBottom()-5);
}
}