自定义标签样式就像在Wanelo购物应用程序android

时间:2013-12-19 05:36:10

标签: android tabs styles

任何人都可以指导,如何在附加的图像中实现这种标签样式,我已经处理了很多标签样式,但没有得到这个。

enter image description here

更新

我是怎么做的@PRAVIN:  res / values文件夹中的theme.xml

  <style name="CustomActionBarTheme2" parent="@android:style/Theme.Holo">
    <item name="android:actionBarItemBackground">@drawable/selectable_background_example</item>
    <item name="android:actionBarTabStyle">@style/MyActionBarTab</item>
    <item name="android:actionBarStyle">@style/ActionBar.Solid.Example</item>
</style>

<!-- ActionBar tabs styles --> 
<style name="MyActionBarTab" parent="@android:style/Widget.Holo.Light.ActionBar.TabView">
    <item name="android:background">@drawable/actionbar_tab_indicator</item> <!-- actionbar_tab_indicator -->
    <item name="android:showDividers">none</item>
    <item name="android:paddingLeft">20dp</item>
    <item name="android:paddingRight">20dp</item>

在我的主要活动中:

 private String[] tabs = { "Tab1", "Tab2", "tab3","Tab4" };

getActionBar().setDisplayShowTitleEnabled(false);

    actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    // Adding Tabs
    for (String tab_name : tabs) {
        if(tab_name.equals("Tab1")){
        actionBar.addTab(actionBar.newTab().setIcon(R.drawable.tab_home)
                .setTabListener(this));
        } else if(tab_name.equals("Tab2")){
            actionBar.addTab(actionBar.newTab().setIcon(R.drawable.tab_search)
                    .setTabListener(this));
        }else if(tab_name.equals("Tab3")){
            actionBar.addTab(actionBar.newTab().setIcon(R.drawable.tab_home)
                    .setTabListener(this));
        }else if(tab_name.equals("Tab4")){
            actionBar.addTab(actionBar.newTab().setIcon(R.drawable.tab_search)
                    .setTabListener(this));
        }
    }

最后我将自定义主题添加到我的活动中

 <activity
        android:name="aimviz.omi.shoppingcartapp.MainActivity"
        android:theme="@style/CustomActionBarTheme2" />

我无法删除分隔线,但代码有效。谢谢@PRAVIN。

1 个答案:

答案 0 :(得分:2)

以下网址对我帮助很大:
Iphone like tabbar in android
修改只是根据您的需要更改可绘制的xml文件。
使用自定义操作栏标签:
custom_tab_layout.xml 每个标签的xml布局文件

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<ImageView
    android:id="@+id/tab_icon"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/tab_to_opine"
    android:background="@android:color/transparent" />

<TextView
    android:id="@+id/tab_title"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

</LinearLayout>

活动代码: 在onCreate()中

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState); 

   ......

    getActionBar().setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);

    createNewTab(R.layout.custom_tab_layout, "My Tab");
   ......//TODO add more tabs
}

public void createNewTab(int view, int titleView, String title) {
    ActionBar.Tab tab = getActionBar().newTab();
    tab.setTabListener(this);
    tab.setCustomView(view);
    getSupportActionBar().addTab(tab);

    TextView Title=(TextView)view.findViewById(R.id.tab_title)
    Title.setText(title);
}

因此,使用此行代码可以实现自定义操作栏标签