自定义选项卡设计具有可滑动视图

时间:2014-04-04 09:45:48

标签: android android-fragments android-fragmentactivity android-tabs

我已经按照教程了解了如何创建可以在使用片段之间滑动的标签,但现在我已经完成了教程,我需要在标签上实现自定义设计。我可以这样做,因为教程中没有解释这一点。

*这是tutorial I followed

2 个答案:

答案 0 :(得分:0)

创建自定义标签的布局

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/tabsLayout" android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="10dip" android:gravity="center" android:orientation="vertical">

    <TextView android:id="@+id/tabsText" android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:text="Title"
        android:textSize="15dip" />
</LinearLayout>

自定义视图的外观

tabs_bg.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/tabsLayout" android:layout_width="fill_parent"
    android:layout_height="fill_parent" android:background="@drawable/tab_bg_selector"
    android:padding="10dip" android:gravity="center" android:orientation="vertical">

    <TextView android:id="@+id/tabsText" android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:text="Title"
        android:textSize="15dip" android:textColor="@drawable/tab_text_selector" />
</LinearLayout>

类似地设置文本和背景选择器。将其用作新布局

您可以参考this了解更多详情。

答案 1 :(得分:0)

在可绘制文件夹中创建xml(tab1)

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- When selected, use grey -->
<item android:drawable="@drawable/videos_gray"
  android:state_selected="true" />
<!-- When not selected, use white-->
<item android:drawable="@drawable/videos_white" />

并在java文件中使用

// Create an actionbar
ActionBar actionBar = getActionBar();

// Hide Actionbar Icon
actionBar.setDisplayShowHomeEnabled(false);

// Hide Actionbar Title
actionBar.setDisplayShowTitleEnabled(false);

// Create Actionbar Tabs
actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

// Create first Tab
tab = actionBar.newTab().setTabListener(new FragmentTab1());
// Create your own custom icon
tab.setIcon(R.drawable.tab1);
actionBar.addTab(tab);

// Create Second Tab
tab = actionBar.newTab().setTabListener(new FragmentTab2());
// Set Tab Title
tab.setText("Tab2");
actionBar.addTab(tab);

// Create Third Tab
tab = actionBar.newTab().setTabListener(new FragmentTab3());
// Set Tab Title
tab.setText("Tab3");
actionBar.addTab(tab);