我想创建 TabBar,如下图所示:
在这里,所有的标签栏都是正常的。只是它们是定制的。现在我想像上图一样创建标签栏。其中中心选项卡被抬起。
那么我应该怎么做才能使它成为可能呢?
如果有demo就好了。
请帮我。
我想创建 TabBar,如下图所示:
在这里,所有的标签栏都是正常的。只是它们是定制的。现在我想像上图一样创建标签栏。其中中心选项卡被抬起。
那么我应该怎么做才能使它成为可能呢?
如果有demo就好了。
请帮我。
您可以将选项卡小部件中的背景图像设置为
tabHost.getTabWidget().getChildAt(0).setBackgroundResource(R.drawable.home_h);
tabHost.getTabWidget().getChildAt(1).setBackgroundResource(R.drawable.live);
tabHost.getTabWidget().getChildAt(2).setBackgroundResource(R.drawable.camera);
tabHost.getTabWidget().getChildAt(3).setBackgroundResource(R.drawable.profile);
tabHost.getTabWidget().getChildAt(4).setBackgroundResource(R.drawable.Messege);
将图像创建为其他四个,例如他们的前 20% 作为透明和中间相机创建为您的曲线基础。你将实现你的目标。
像这样,灰色部分是透明部分。
我正在做这样的事情:
<?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="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TabWidget
android:id="@android:id/tabs"
android:layout_width="match_parent"
android:layout_height="0dp"
android:tabStripEnabled="false"/>
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/btn1" />
<ImageView
android:id="@+id/btn1"
android:layout_alignParentBottom="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/btn2"
android:src="@drawable/ic_launcher"/>
<ImageView
android:id="@+id/btn2"
android:layout_alignParentBottom="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/btn3"
android:src="@drawable/ic_launcher"/>
<ImageView
android:id="@+id/btn3"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_width="80dp"
android:layout_height="80dp"
android:src="@drawable/ic_launcher"/>
<ImageView
android:id="@+id/btn4"
android:layout_toRightOf="@+id/btn3"
android:layout_alignParentBottom="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"/>
<ImageView
android:id="@+id/btn5"
android:layout_toRightOf="@+id/btn4"
android:layout_alignParentBottom="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_launcher"/>
</RelativeLayout>
</TabHost>
我摆脱了在 TabWidget 中构建并通过 LinearLayout 设置我自己的。稍后您只需要在主选项卡活动中设置 onClick 功能。
像:
public void onClick(View v)
{
switch(v.getId())
{
case R.id.btn1:
tabHost.setCurrentTab(0);
break;
case R.id.btn2:
tabHost.setCurrentTab(1);
break;
case R.id.btn3:
tabHost.setCurrentTab(2);
break;
case R.id.btn4:
tabHost.setCurrentTab(3);
break;
case R.id.btn5:
tabHost.setCurrentTab(4);
break;
}
}