【问题标题】:Custom Tab Style like in Wanelo shopping app androidWanelo 购物应用程序 android 中的自定义标签样式
【发布时间】:2013-12-19 05:36:10
【问题描述】:

谁能指导一下,如何在附图中实现这种标签样式,我研究过很多标签样式,但没有得到这个。

更新:

我是怎么做到的@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。

【问题讨论】:

  • 这个链接可能对你在android中实现Tab into action bar有用。Tab in action bar
  • 谢谢@ManishPatel!但我已经在链接中实现了那种风格。我很关心附上的图片。

标签: android tabs styles


【解决方案1】:

以下网址对我帮助很大:
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);
}

所以使用这行代码就可以实现自定义操作栏标签

【讨论】:

  • 谢谢@PRAVIN。你的回答很相关。但是让我看看如何使用操作栏选项卡实现这种自定义。当我回来时,我一定会将您的答案标记为有用:)
猜你喜欢
  • 1970-01-01
  • 2012-08-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-05
相关资源
最近更新 更多