我想让TextView看起来像一个带有新材质样式的微调器。
我设法用" Widget.Material.Light.Spinner"风格,但我在AppCompat(v21)资源中找不到任何替代方案。 我的xml:
<TextView
android:id="@+id/sp_league_list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
tools:text="Premier league"
style="@android:style/Widget.Material.Light.Spinner"
android:textColor="@android:color/white" />
答案 0 :(得分:17)
我选择:
style="@style/Widget.AppCompat.Spinner"
但随意选择另一个:
答案 1 :(得分:1)
风格解决方案对我没用,但我找到了另一个解决方案:
我使用的是AppCompatButton,并拥有:
XML:
<android.support.v7.widget.AppCompatButton
android:background="@drawable/abc_spinner_mtrl_am_alpha"
... />
爪哇:
((AppCompatButton)findViewById(...)).setSupportBackgroundTintList(new ColorStateList(new int[][]{new int[0]}, new int[]{0xff52A1E8}));
编辑:似乎它不再适用,但找到了另一种解决方案:
<style name="Widget.MyTheme.HeaderBar.Spinner" parent="Widget.AppCompat.Light.Spinner.DropDown.ActionBar">
</style>
操作栏确实如此,但它也适用于其他情况。
答案 2 :(得分:0)
我测试了这里提到的解决方案
1.使用style="@style/Widget.AppCompat.Spinner
)和
2.使用Widget.AppCompat.Light.Spinner.DropDown.ActionBar
这两项仅适用于Android 5.x及以上设备,不适用适用于在4.x及以下版本上运行的Android设备。
因此,我正在为那些想要对所有设备的TextView
产生下拉效果的人发布我的解决方案。
应用需要在App中的Drawable
文件夹中创建一个drawable
,让我们说dropdown_spinner.xml
<?xml version="1.0" encoding="utf-8"?>
<bitmap
xmlns:android="http://schemas.android.com/apk/res/android"
android:src="@drawable/ic_icon_arrow"
android:gravity="end" />
然后只需将其用作TextView的背景,如下所示:
<TextView
android:id="@+id/mySpinnerTextView"
android:background="@drawable/dropdown_spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
答案 3 :(得分:0)
在AndroidX中,使用style="@style/TextAppearance.AppCompat.Widget.TextView.SpinnerItem"