我正在构建一个应用程序,它有一个最多有四个选项卡的操作栏。 我想在操作栏标签中添加一个像网络浏览器这样的关闭按钮。
我知道如何动态添加/删除标签。 我一直在寻找如何添加关闭按钮,但我找不到任何东西!
如果您知道解决方案或教程,请告诉我。 或者这是(在标签中添加关闭按钮)一个不好的做法?
谢谢,
我的环境: Android 4.4.2(api-level 19)
答案 0 :(得分:0)
我找到了解决方案。 我可以使用ActionBar.Tab #setCustomView方法解决我的问题。 它可以添加您对操作栏选项卡所做的视图。
我的代码是:
ActionBar actionBar = getSupportActionBar();
actionBar.addTab(actionBar
.newTab()
.setCustomView(R.layout.tab_title)
.setTabListener(new MainTabListener<TabFragment>( this, "myTab", TabFragment.class
)));
有关向操作栏添加标签的更多详细信息,请访问: http://developer.android.com/guide/topics/ui/actionbar.html#Tabs
例如,我的tab_title.xml是:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/title_tab"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:ellipsize="end"
android:gravity="center"
android:singleLine="true"
android:paddingStart="0dp"
android:paddingLeft="0dp"
android:paddingEnd="10dp"
android:paddingRight="10dp" />
<TextView
android:id="@+id/close_tab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_gravity="fill_vertical"
android:layout_toLeftOf="@+id/title_tab"
android:layout_toStartOf="@+id/title_tab"
android:gravity="center"
android:text="x"
android:textSize="10sp"
android:textStyle="bold"
android:paddingStart="10dp"
android:paddingLeft="10dp"
android:paddingEnd="0dp"
android:paddingRight="0dp" />
</RelativeLayout>
然后,在关闭按钮的TextView中添加单击侦听器,可以将关闭按钮设置为操作栏选项卡。
我希望这篇文章可以帮助别人。
注意: 如果启用设备轮换,请注意此问题: https://code.google.com/p/android/issues/detail?id=43213&can=1&q=screen%20rotate%20tab&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars