Mal*_*lko 84 android text-size android-tablayout
我无法更改设计库tablayout(android.support.design.widget.TabLayout)选项卡的文本大小.
我设法通过在TabLayout中指定tabTextAppearance来更改它
app:tabTextAppearance="@style/MyTabLayoutTextAppearance"
Run Code Online (Sandbox Code Playgroud)
以下风格
<style name="MyTabLayoutTextAppearance" parent="TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse">
<item name="android:textSize">14sp</item>
</style>
Run Code Online (Sandbox Code Playgroud)
但我有2个副作用:
1)我丢失了所选标签的强调色
2)标签文本不再大写.
小智 169
<style name="MineCustomTabText" parent="TextAppearance.Design.Tab">
<item name="android:textSize">16sp</item>
</style>
Run Code Online (Sandbox Code Playgroud)
使用是TabLayout这样的
<android.support.design.widget.TabLayout
app:tabTextAppearance="@style/MineCustomTabText"
...
/>
Run Code Online (Sandbox Code Playgroud)
u2g*_*les 42
继续使用tabTextAppearance,但是
1)修复大写字母副作用在你的风格中添加textAllCap:
<style name="MyTabLayoutTextAppearance" parent="TextAppearance.AppCompat.Widget.ActionBar.Title.Inverse">
<item name="android:textSize">14sp</item>
<item name="android:textAllCaps">true</item>
</style>
Run Code Online (Sandbox Code Playgroud)
2)修复选中的选项卡颜色副作用在TabLayout xml中添加以下库属性:
app:tabSelectedTextColor="@color/color1"
app:tabTextColor="@color/color2"
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
Lui*_*mat 21
在api 22和23上工作制作这种风格:
<style name="TabLayoutStyle" parent="Base.Widget.Design.TabLayout">
<item name="android:textSize">12sp</item>
<item name="android:textAllCaps">true</item>
</style>
Run Code Online (Sandbox Code Playgroud)
并将其应用于您的tablayout:
<android.support.design.widget.TabLayout
android:id="@+id/contentTabs"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:background="@drawable/list_gray_border"
app:tabTextAppearance="@style/TabLayoutStyle"
app:tabSelectedTextColor="@color/colorPrimaryDark"
app:tabTextColor="@color/colorGrey"
app:tabMode="fixed"
app:tabGravity="fill"/>
Run Code Online (Sandbox Code Playgroud)
Jay*_*ani 17
做如下.
1.将样式添加到XML
<style name="MyTabLayoutTextAppearance" parent="TextAppearance.Design.Tab">
<item name="android:textSize">14sp</item>
</style>
Run Code Online (Sandbox Code Playgroud)
2.应用样式
找到包含TabLayout的布局并添加样式.添加的行是粗体.
<android.support.design.widget.TabLayout
android:id="@+id/tabs"
app:tabTextAppearance="@style/MyTabLayoutTextAppearance"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
Run Code Online (Sandbox Code Playgroud)
Mar*_*rgo 14
我有类似的问题和类似的解决方案:
1)尺寸
在xml你有TabLayout,
<android.support.design.widget.TabLayout
...
app:tabTextAppearance="@style/CustomTextStyle"
...
/>
Run Code Online (Sandbox Code Playgroud)
然后在风格,
<style name="CustomTextStyle" parent="@android:style/TextAppearance.Widget.TabWidget">
<item name="android:textSize">16sp</item>
<item name="android:textAllCaps">true</item>
</style>
Run Code Online (Sandbox Code Playgroud)
如果你不希望大写的字符在"android:textAllCaps"中输入false
2)选定或未选定标签的文字颜色,
TabLayout tabLayout = (TabLayout) view.findViewById(R.id.tabs);
tabLayout.setupWithViewPager(viewPager);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
tabLayout.setTabTextColors(getResources().getColorStateList(R.color.tab_selector,null));
} else {
tabLayout.setTabTextColors(getResources().getColorStateList(R.color.tab_selector));
}
Run Code Online (Sandbox Code Playgroud)
然后在res/color/tab_selector.xml中
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/white" android:state_selected="true" />
<item android:color="@color/white" />
Run Code Online (Sandbox Code Playgroud)
Ang*_*gel 12
试试这个....它为我工作....
在我的layout.xml中,我使用了这样的东西....
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
style="@style/MyCustomTabLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabGravity="fill"
app:tabMode="fixed" />
Run Code Online (Sandbox Code Playgroud)
在我的style.xml中,我使用了像代码的和平......
<style name="MyCustomTabLayout" parent="Widget.Design.TabLayout">
<item name="android:background">YOUR BACKGROUND COLOR</item>
<item name="tabTextAppearance">@style/MyCustomTabText</item>
<item name="tabSelectedTextColor">SELECTED TAB TEXT COLOR</item>
<item name="tabIndicatorColor">SELECTED TAB INDICATOR COLOR</item>
</style>
<style name="MyCustomTabText" parent="TextAppearance.AppCompat.Button">
<item name="android:textSize">YOUR TEXT SIZE</item>
<item name="android:textStyle">bold</item>
<item name="android:textColor">@android:color/white</item>
</style>
Run Code Online (Sandbox Code Playgroud)
我希望它对你有用.....
TabLayout tab_layout = (TabLayout)findViewById(R.id.tab_Layout_);
private void changeTabsFont() {
Typeface font = Typeface.createFromAsset(getActivity().getAssets(), "fonts/"+ Constants.FontStyle);
ViewGroup vg = (ViewGroup) tab_layout.getChildAt(0);
int tabsCount = vg.getChildCount();
for (int j = 0; j < tabsCount; j++) {
ViewGroup vgTab = (ViewGroup) vg.getChildAt(j);
int tabChildsCount = vgTab.getChildCount();
for (int i = 0; i < tabChildsCount; i++) {
View tabViewChild = vgTab.getChildAt(i);
if (tabViewChild instanceof TextView) {
((TextView) tabViewChild).setTypeface(font);
((TextView) tabViewChild).setTextSize(15);
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
这段代码适用于我使用tablayout.它会改变字体的大小,也会改变字体样式.
这也有助于你们查看此链接
此代码适用于Tablayout更改文本颜色,类型面(字体样式)以及文本大小.
| 归档时间: |
|
| 查看次数: |
95837 次 |
| 最近记录: |