gpt4 book ai didi

android:style 不适用于 xml 布局

转载 作者:行者123 更新时间:2023-11-30 05:01:54 25 4
gpt4 key购买 nike

我需要将自定义样式应用于 Spinner。

这些是我在 styles.xml 中的样式:

<style name="spinnerItemStyle">
<item name="android:textColor">@color/font</item>
<item name="android:textSize">@dimen/small_text</item>
</style>

<style name="spinnerDropDownItemStyle">
<item name="android:padding">10dp</item>
<item name="android:textColor">@color/font</item>
<item name="android:textSize">@dimen/small_text</item>
<item name="android:background">@color/unpressed2</item>
</style>

我在布局中这样做:

android:spinnerItemStyle="@style/spinnerItemStyle" android:spinnerDropDownItemStyle="@style/spinnerDropDownItemStyle"

        <Spinner
android:id="@+id/songSpinner"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_marginTop="20dp"
android:layout_marginEnd="30dp"
android:layout_marginRight="30dp"
android:textSize="@dimen/small_text"
android:entries="@array/songs_array"
android:spinnerItemStyle="@style/spinnerItemStyle"
android:spinnerDropDownItemStyle="@style/spinnerDropDownItemStyle"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHeight_percent="0.18"
app:layout_constraintTop_toBottomOf="@+id/musicSeekBar"
app:layout_constraintWidth_percent="0.5" />

问题是 Spinner 忽略了应用的样式。

而且我还发现,如果我在 styles.xml 中的自定义应用程序主题中执行此操作,效果会非常好:

<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="android:windowNoTitle">true</item>
<item name="android:windowActionBar">false</item>
<item name="android:windowFullscreen">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="colorButtonNormal">@color/unpressed2</item>
<item name="android:buttonStyle">@style/ButtonColor</item>
<item name="android:textColor">@color/font</item>

<!-- spinner styles -->
<item name="android:spinnerItemStyle">
@style/spinnerItemStyle
</item>
<item name="android:spinnerDropDownItemStyle">
@style/spinnerDropDownItemStyle
</item>
</style>

为什么使用第二种方法而不使用第一种方法?

最佳答案

styles.xml 文件

Add below xml code in your styles.xml File.

<style name="CustomSpinner" parent="AppTheme">

<item name="android:spinnerItemStyle">@style/spinnerItemStyle</item>
<item name="android:spinnerDropDownItemStyle">@style/spinnerDropDownItemStyle</item>

</style>

yourlayout.xml

In Spinner use this styles

例如:-

<Spinner
android:id="@+id/songSpinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:theme="@style/CustomSpinner">
</Spinner>

关于android:style 不适用于 xml 布局,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58094930/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com