我想把tabwidget放在iPhone App的底部。 我知道这种布局是针对Google UserInterface指南的,但我需要。
所以,我在Stackoverflow中读过很多类似的帖子。 但每个帖子都不起作用。
我想使用FragmentTabhost,而不使用外部库(例如:ActionBarsherlock
这是我的代码
<android.support.v4.app.FragmentTabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent" >
<FrameLayout
android:id="@+id/tabcontent"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_above="@android:id/tabs" />
<FrameLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_above="@android:id/tabs" />
<TabWidget
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="horizontal" />
</RelativeLayout>
和活动代码在
之下 protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_top);
//set up FragmentTabhost
FragmentTabHost host = (FragmentTabHost)findViewById(R.id.tabhost);
host.setup(this,getSupportFragmentManager(),R.id.content);
//add tabspec
TabSpec tabSpec1 = host.newTabSpec("tab1");
Button btn1 = new Button(this);
btn1.setBackgroundResource(R.drawable.icon1);
tabSpec1.setIndicator(btn1);
Bundle bundle1 = new Bundle();
bundle1.putString("name", "tab1");
host.addTab(tabSpec1,SampleFragment.class,bundle1);
TabSpec tabSpec2 = host.newTabSpec("tab2");
Button btn2 = new Button(this);
btn2.setBackgroundResource(R.drawable.icon2);
tabSpec2.setIndicator(btn2);
Bundle bundle2 = new Bundle();
bundle2.putString("name", "tab2");
host.addTab(tabSpec2,SampleFragment1.class,bundle2);
}
所以我尝试了另外这样的布局
<android.support.v4.app.FragmentTabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tabhost"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<FrameLayout
android:id="@+id/tabcontent"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_weight="0" />
<TabWidget
android:id="@+id/tabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:orientation="horizontal" />
<FrameLayout
android:id="@+id/content"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" />
</LinearLayout>
请帮助我,
注意 最后我解决了这个问题。 这是SupportPackage的错误.....
试试这个
答案 0 :(得分:2)
试试这个:
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TabWidget
android:id="@android:id/tab"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true" />
<FrameLayout
android:id="@android:id/content"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</RelativeLayout>
答案 1 :(得分:0)
试试这个:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.app.FragmentTabHost 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="fill_parent"
android:layout_weight="1" />
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0"/>
</LinearLayout>
</android.support.v4.app.FragmentTabHost>
答案 2 :(得分:-2)
试试这个,以下XML对我来说非常好。
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.app.FragmentTabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<RelativeLayout
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" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
</RelativeLayout>
</android.support.v4.app.FragmentTabHost>
希望这会奏效。