Как я могу установить TextColor, TextSize из PagerTitleStrip из кода?
Я пытаюсь установить textize и textcolor из pagertitlestrip и не могу найти способ сделать это.
<android.support.v4.view.ViewPager
android:id="@+id/myPager"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.PagerTitleStrip
android:id="@+id/myStrip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top" />
</android.support.v4.view.ViewPager>
ИЗМЕНИТЬ
main.xml
<android.support.v4.view.ViewPager
android:id="@+id/myPager"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.PagerTitleStrip
style="@style/PagerTitleStrip"
android:id="@+id/myStrip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="top" />
</android.support.v4.view.ViewPager>
style.xml
<style name="PagerTitleStrip">
<item name="android:textAppearance">@style/PagerTitleStripTextAppearance</item>
</style>
<style name="PagerTitleStripTextAppearance">
<item name="android:textColor">#FFFFFFFF</item>
<item name="android:textSize">14sp</item>
</style>
Жаль, что я не нашел способ сделать это из AttributeSet, получить исключение ресурса NotFound или InvalidResource.
Ответы
Ответ 1
textSize
недоступен непосредственно как свойство XML view.PagerTitleStrip
.
Однако мне удалось установить его косвенно с помощью атрибута style следующим образом:
<android.support.v4.view.PagerTitleStrip
android:id="@+id/pager_title_strip"
style="@style/viewPagerTitleStrip" <-- added style attribute here
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
/>
Затем я определил textSize
в styles.xml следующим образом:
<style name="viewPagerTitleStrip">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">#FFFFFF</item>
<item name="android:textSize">14sp</item> <-- my desired text size
</style>
Это сработало для меня.
Ответ 2
from: http://developer.android.com/reference/android/support/v4/view/PagerTitleStrip.html
Задайте значение цвета, используемое в качестве базового цвета для всех отображаемых названий страниц:
void setTextColor(int color)
Задайте размер текста по умолчанию для данного устройства и значение:
void setTextSize(int unit, float size)
выглядит без проблем.
PagerTitleStrip titleStrip = (PagerTitleStrip) findViewById(R.id.titleStrip);
titleStrip.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 24);
Ответ 3
Посмотрите this
final TypedArray a = context.obtainStyledAttributes(attrs, ATTRS);
final int textColor = a.getColor(1, 0);
final int textSize = a.getDimensionPixelSize(2, 0);
Ответ 4
Я наткнулся на этот вопрос очень поздно, но на данный момент работает textSize, хотя и не в опции прогнозирования.
<android.support.v4.view.PagerTitleStrip
android:id="@+id/pager_title_strip"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_gravity="top"
android:background="@android:color/holo_blue_dark"
android:textSize="18sp"
android:textColor="#ffffff"
android:paddingTop="4dp"
android:paddingBottom="4dp" />
Ответ 5
textize, цвет текста не применяется к вкладке. Мой код выглядит следующим образом:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
android:id="@+id/relativeLayout">
<android.support.v4.view.ViewPager xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.view.PagerTabStrip
android:id="@+id/pager_title_strip"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:background="#33b5e5"
android:textColor="#fff"
android:paddingTop="5dp"`enter code here`
android:paddingBottom="5dp" />
</android.support.v4.view.ViewPager>