2016-01-20 2 views
0
<com.astuetz.PagerSlidingTabStrip 
    android:id="@+id/tabs" 
    app:pstsShouldExpand="true" 
    app:pstsTextAllCaps="true" 
    android:layout_width="match_parent" 
    android:background="#ffffff" 
    android:layout_height="40dp" 
    app:pstsIndicatorHeight="4dp" 
    app:pstsActivateTextColor="#FF666666" 
    app:pstsDeactivateTextColor="#FFCCCCCC" 
    app:pstsDividerPadding ="30dp" 
    app:pstsDividerColor="@android:color/white" 
    app:pstsIndicatorColor="#ec9512"/> 

При попытке скомпилировать этот код, я получаю сообщение об ошибке Error:(15) No resource identifier found for attribute 'pstsActivateTextColor' in package 'com.example.android.myapplication'.Android, PagerSlidingTabStrip, XML: приложение: pstsActivateTextColor - нет идентификатора ресурса не найден

Я бегу compile 'com.astuetz:pagerslidingtabstrip:1.0.1'.
Может ли кто-нибудь помочь в решении этой проблемы?

ответ

1

Итак, я нашел решение! Я не мог использовать эти функции, потому что они еще не включены в официальную библиотеку, это просто запрос на вытягивание сейчас! Чтобы изменить цвет текста выбранных вкладок, вы должны использовать не compile 'com.astuetz: pagerslidingtabstrip: 1.0.1'. в градиенте, но для подключения библиотеки как модуля (вот описание того, как подключить библиотеку как модульhttp://www.truiton.com/2015/02/android-studio-add-library-project/) и переопределить код внутри него! в PagerSlidingTabStrip класса макияжа onPageSelected методе как этого

@Override 
public void onPageSelected(int position) { 
    for(int i=0; i < mTabsLinearLayout.getChildCount(); i++){ 
     TextView tv = (TextView) mTabsLinearLayout.getChildAt(i); 
     if(i == position){ 
       tv.setTextColor(Color.WHITE); 
     } else { 
      tv.setTextColor(Color.GREY); 
     } 
    } 
} 

использует это, когда ваши настраивают TabStrip при создании активности ..

public void setUpTabStrip(){ 

      //your other customizations related to tab strip...blahblah 
      // Set first tab selected 
mTabsLinearLayout = ((LinearLayout)tabStrip.getChildAt(0)); 
for(int i=0; i < mTabsLinearLayout.getChildCount(); i++){ 
    TextView tv = (TextView) mTabsLinearLayout.getChildAt(i); 

    if(i == 0){ 
     tv.setTextColor(Color.WHITE); 
    } else { 
     tv.setTextColor(Color.GREY); 
    } 
} 
Смежные вопросы