如何通过编程方式设置ActionBarTab指针的样式?

时间:2014-11-26 00:47:13

标签: android tabs android-actionbar-compat

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

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>

以及 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?对不起我的英文

1 个答案:

答案 0 :(得分:0)

您好试试这个ActionBar Style Generator