2015-03-27 2 views
0

у меня есть этот вопрос с ViewPager с закладками ActionBar, в основном я не в состоянии применить любого из моих пользовательских стилей для вкладок, это то, что у меня естьActionBar индикатор вкладки не применяя пользовательские стили

enter image description here

ИТАК это использует вкладками активность по умолчанию, которая поставляется с Android Studio 1.1 вот список характеристик которыми я есть

  • шаблон по умолчанию использовать в AppCompat v4 ViewPager с фрагментами
  • У меня есть собственный стиль генерируемого здесь http://jgilfelt.github.io/android-actionbarstylegenerator/, я знаю, является устаревшим, но он все еще должен работать сейчас
  • ниже приведен код часть кода моей деятельности
  • мин SDK установлен в 21
  • использует 21.2.1
  • инструмент сборки поддержка
  • и пересмотр библиотеки v4 22,0

MainActivity

public class MainActivity extends ActionBarActivity implements ActionBar.TabListener { 

    SectionsPagerAdapter mSectionsPagerAdapter; 

    ViewPager mViewPager; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     final ActionBar actionBar = getSupportActionBar(); 
     actionBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS); 

     mSectionsPagerAdapter = new SectionsPagerAdapter(getSupportFragmentManager()); 

     mViewPager = (ViewPager) findViewById(R.id.pager); 
     mViewPager.setAdapter(mSectionsPagerAdapter); 

     mViewPager.setOnPageChangeListener(new ViewPager.SimpleOnPageChangeListener() { 
      @Override 
      public void onPageSelected(int position) { 
       actionBar.setSelectedNavigationItem(position); 
      } 
     }); 

     for (int i = 0; i < mSectionsPagerAdapter.getCount(); i++) { 
      actionBar.addTab(
        actionBar.newTab() 

activity_main.xml

<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" android:id="@+id/pager" 
    android:layout_width="match_parent" android:layout_height="match_parent" 
    tools:context=".MainActivity" /> 

У меня есть свои собственные стили внутри styles.xml и я применяю их в проявленном

<application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:theme="@style/Theme.CustomTheme" > 

Это небольшая часть моих стилей, которые я знаю, пытается для изменения в красный цвет индикатора

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

, который использует красный индикатор цвета

Все выглядит хорошо для меня, но, как вы можете видеть на скриншоте, это juts игнорирует эти стили, я знаю, что некоторые стили в файлах стилей были применены, потому что, например, у меня есть Theme.AppCompat.Light.DarkActionBar как родительский и если я изменю его на Theme.AppCompat.Light, actionBar станет серым, так работает эта часть, для меня странно, что индикатор вкладки зеленый, и я думаю, что он должен быть синим справа? и по умолчанию очень тонкий.

Я тестировал в genymotion эмулятор с помощью Nexus 4 с API 16 и в реальном устройстве с помощью Nexus 5 с андроида 5.0.1

Пожалуйста, помогите разобраться в этом, я потянув меня за волосы здесь, спасибо за любую помощь

ответ

0

Используйте AppCompat имя свойства без префикса android:, то есть:

 <item name="actionBarTabStyle">@style/ActionBarTabStyle.YourProject</item> 
Смежные вопросы