dhu*_*981 69 android androiddesignsupport android-tablayout
我已经设定android:textAllCaps="false"了android.support.design.widget.TabLayout它只显示全部大写的标题标题.
如何删除所有大写字母?
Par*_*ani 155
设计图书馆更新23.2.0+
原始答案不适用于设计库23.2.0或更高版本.感谢@ fahmad6在评论中指出,如果有人错过了评论,我会把它放在这里.您需要同时设置textAllCaps并android:textAllCaps以false禁用所有资本设置.
<style name="MyCustomTextAppearance" parent="TextAppearance.Design.Tab">
<item name="textAllCaps">false</item>
<item name="android:textAllCaps">false</item>
</style>
Run Code Online (Sandbox Code Playgroud)
原始答案
默认情况下,TabLayout创建的选项卡将textAllCaps属性设置为true,您必须定义使此标志为false的样式.
<style name="MyCustomTabLayout" parent="Widget.Design.TabLayout">
<item name="tabTextAppearance">@style/MyCustomTextAppearance</item>
</style>
<style name="MyCustomTextAppearance" parent="TextAppearance.Design.Tab">
<item name="textAllCaps">false</item>
</style>
Run Code Online (Sandbox Code Playgroud)
Ord*_*don 60
@Paresh Mayani答案是正确的,但您只能创建标签样式
<style name="MyCustomTextAppearance" parent="TextAppearance.Design.Tab">
<item name="textAllCaps">false</item>
</style>
Run Code Online (Sandbox Code Playgroud)
并使用它
<android.support.design.widget.TabLayout
app:tabTextAppearance="@style/MyCustomTextAppearance"
.../>
Run Code Online (Sandbox Code Playgroud)
sus*_*i99 31
<android.support.design.widget.TabLayout
app:tabTextAppearance="@android:style/TextAppearance.Widget.TabWidget"
/>
Run Code Online (Sandbox Code Playgroud)
you*_*sef 23
使用此属性app:tabTextAppearance="@android:style/TextAppearance.Widget.TabWidget"
它将工作.
<android.support.design.widget.TabLayout
android:id="@+id/tablayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
app:tabGravity="fill"
app:tabTextAppearance="@android:style/TextAppearance.Widget.TabWidget"
app:tabIndicatorColor="@color/colorPrimary"
app:tabMode="fixed"
app:tabPaddingStart="0dp" />
Run Code Online (Sandbox Code Playgroud)
对于那些无法工作的人。
当您具有单行制表符文本时,定义样式可以很好地工作。如果仔细查看TabLayout,您会发现当选项卡有多行时,它正在使用字段design_tab_text_size_2line。
我发现影响此字段的唯一方法是在dimen文件中覆盖它。
因此,将其放在您的values / dimens.xml中
<dimen name="design_tab_text_size_2line" tools:override="true">10sp</dimen>
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你。
小智 7
这对我来说只需一行
<android.support.design.widget.TabLayout
app:tabTextAppearance="@android:style/TextAppearance.Widget.TabWidget"/>
Run Code Online (Sandbox Code Playgroud)
小智 5
这是简单的解决方案....享受
for (int tabIndex = 0; tabIndex <tabLayout.getTabCount() ; tabIndex++) {
TextView tabTextView = (TextView)(((LinearLayout)((LinearLayout)tabLayout.getChildAt(0)).getChildAt(tabIndex)).getChildAt(1));
tabTextView.setAllCaps(false);
}
Run Code Online (Sandbox Code Playgroud)
就我而言,有两种变体可以工作:
1)博格丹(susemi99):
<android.support.design.widget.TabLayout
app:tabTextAppearance="@android:style/TextAppearance.Widget.TabWidget"
/>
Run Code Online (Sandbox Code Playgroud)
2)Paresh Mayani发表。我想有android:textAllCaps="false"而android:textSize="15sp"同时,让他的老方法工作。
在styles.xml写入(母体可能会发生变化,例如, “@android:风格/ TextAppearance.Widget.TabWidget”, “TextAppearance.Design.Tab”):
<style name="TabLayout" parent="Widget.Design.TabLayout">
<item name="tabIndicatorColor">@color/color_blue</item>
<item name="tabSelectedTextColor">@color/color_blue</item>
<item name="tabTextColor">@color/black</item>
<item name="tabTextAppearance">@style/TabLayoutTextAppearance</item>
</style>
<style name="TabLayoutTextAppearance" parent="TextAppearance.Design.Tab">
<item name="android:textSize">15sp</item>
<item name="textAllCaps">false</item>
<item name="android:textAllCaps">false</item>
</style>
Run Code Online (Sandbox Code Playgroud)
在布局中应用此样式:
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/TabLayout"
/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
41662 次 |
| 最近记录: |