【问题标题】:How styling ActionBarTab indicator programmatically?如何以编程方式设计 ActionBarTab 指标?
【发布时间】:2014-11-26 00:47:12
【问题描述】:

我在我的应用中使用 ActionBar compact,并创建了 2 个 Tab 和 Spinner Menu Item。现在我想通过选定的项目微调器进行更改选项卡指示器,如下图所示: 但我不知道怎么做。我只是用代码设计主题:

Style.xml 的一部分

<style name="Theme.MyAB" parent="@style/Theme.AppCompat.Light.DarkActionBar">
        <item name="actionBarStyle">@style/ActionBar.Solid</item>
        <item name="actionBarTabStyle">@style/ActionBarTabStyle</item>

    </style>

    <style name="ActionBarTabStyle" parent="@style/Widget.AppCompat.ActionBar.TabView">
        <item name="android:background">@drawable/tab_indicator_ab_example</item>
    </style>

以及创建 Tab 的 MyActivity.class 的这一部分

@Override
    public void onTabReselected(Tab tab, FragmentTransaction ft) {
    }

    @Override
    public void onTabSelected(Tab tab, FragmentTransaction ft) {
        // on tab selected
        // show respected fragment view
        viewPager.setCurrentItem(tab.getPosition());
    }

    @Override
    public void onTabUnselected(Tab tab, FragmentTransaction ft) {
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate our menu from the resources by using the menu inflater.
        getMenuInflater().inflate(R.menu.main, menu);   ;

        MenuItem actionbar_form= menu.findItem(Menus.FORM);

        View view1= (View) MenuItemCompat.getActionView(actionbar_form);
        if (view1 instanceof Spinner)
        {
            final Spinner spinner = (Spinner) view1;
           spinner.setAdapter(adapterSpinnerMenuForm);


            spinner.setOnItemSelectedListener(new OnItemSelectedListener() {

                @Override
                public void onItemSelected(AdapterView<?> parent, View view,
                        int position, long id) {
                    // TODO Auto-generated method stub

                //  TextView txtType= (TextView)spinner.getAdapter().getView(position, null, null).findViewById(R.id.txtType);
                    Variabel.type= adapterSpinnerMenuForm.spinnerNavItem.get(position).getType();

                }

                @Override
                public void onNothingSelected(AdapterView<?> parent) {
                    // TODO Auto-generated method stub

                }
            });


        }
        return true;
}   

那么更改指示器选项卡 Actionbar 如何以编程方式使用?对不起我的英语

【问题讨论】:

标签: android tabs android-actionbar-compat


【解决方案1】:

嗨试试这个ActionBar Style Generator

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-31
    相关资源
    最近更新 更多