Sorunuz için araştırma yaptım, umarım bu size yardımcı olacaktır.
Sekme gösterge rengi, TabLayout (Code) sınıfının İç Sınıf SlidingTabStrip
numaralı satırında ayarlanır. Ne yazık ki bu değişkene erişemezsin.
private class SlidingTabStrip extends LinearLayout {
private final Paint mSelectedIndicatorPaint;
// ...
void setSelectedIndicatorColor(int color) {
if (mSelectedIndicatorPaint.getColor() != color) {
mSelectedIndicatorPaint.setColor(color);
ViewCompat.postInvalidateOnAnimation(this);
}
}
}
Ama TabLayout
varsayılan sekme göstergesi renk yapıcı içinde
ayarlanır.
public TabLayout(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
// Add the TabStrip
mTabStrip = new SlidingTabStrip(context);
addView(mTabStrip, LayoutParams.WRAP_CONTENT, LayoutParams.MATCH_PARENT);
TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.TabLayout, defStyleAttr, R.style.Widget_Design_TabLayout);
// <-- HERE
mTabStrip.setSelectedIndicatorColor(a.getColor(R.styleable.TabLayout_tabIndicatorColor, 0));
}
Ne istediğini elde etmek R.styleable.TabLayout_tabIndicatorColor erişmek gerektiğini düşünüyorum. Şu anda test etme şansım yok, ama nasıl işe yarayıp yaramadığını test ediyorum ama umarım bu size yardımcı olur.
Güncelleme evde denedim ve işe gibi görünüyor. Benim Faaliyet
TypedArray a = getContext().obtainStyledAttributes(null, R.styleable.TabLayout, 0, R.style.Widget_Design_TabLayout);
// returns -16738680 in my case which is the accentColor
int color = a.getColor(R.styleable.TabLayout_tabIndicatorColor, 0);
arasında onCreate()
yönteminde bu kodu kullanılan Ama R.styleable.TabLayout_tabIndicatorColor
sadece accentColor
bağlantılar oluşturduğunu gördü. Belki de istediğini elde etmenin en iyi yolu budur.
<style name="Base.Widget.Design.TabLayout" parent="android:Widget">
<item name="tabIndicatorColor">?attr/colorAccent</item>
<!-- other items -->
</style>
Yani, tab.Tayout from android.support.design.widget ?? –
Aşağıdaki siteyi izlemelisiniz: http://stackoverflow.com/questions/30904138/how-to-change-the-new-tablayout-indicator-color-and-height – Mrunal
Evet, tasarım aracı, hak ettiğiniz bağlantı göstergenin rengini nasıl değiştireceğini gösterir, bunu yapmak istemiyorum, rengi onaltılık bir değer olarak almak istiyorum. –