简体   繁体   English

如何使用 styles.xml 将微调项目居中?

[英]How to center spinner items using styles.xml?

How to center spinner items through styles without creating custom item view?如何在不创建自定义项目视图的情况下通过 styles 将微调器项目居中? Without extra work in code, just using styles.无需额外的代码工作,只需使用 styles。

在此处输入图像描述

We need to set these styles for spinner and its dropdown:我们需要为微调器及其下拉菜单设置这些 styles:

<style name="AppTheme" parent="Theme.MaterialComponents.NoActionBar">
    <!-- Our app (or activity) theme. Here we set custom styles for spinner and its dropdown -->
    <item name="spinnerStyle">@style/Spinner</item>
    <item name="spinnerDropDownItemStyle">@style/SpinnerDropDownItem</item>
</style>

<style name="Spinner" parent="Widget.AppCompat.Spinner">
    <!-- Optional: Remove annoying triangle -->
    <item name="android:background">@null</item>
    <!-- Optional: Adding ripple effect -->
    <item name="android:foreground">?attr/selectableItemBackgroundBorderless</item>
    <!-- Centering text in spinner -->
    <item name="android:textAlignment">center</item>
</style>

<style name="SpinnerDropDownItem" parent="Widget.AppCompat.TextView.SpinnerItem">
    <!-- Centering text in spinner dropdown -->
    <item name="android:gravity">center</item>
    <item name="android:textAlignment">center</item>
</style>

Result:结果:

在此处输入图像描述

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM