样式TextView作为API级别19的材质样式Spinner

时间:2016-10-25 06:50:34

标签: android styles textview material

我试图在我的应用中像一个微调器一样设置TextView样式,这样它看起来像一个微调器,但允许我轻松地显示一个自定义对话框来编辑值。

我在布局XML中使用以下内容:

<TextView
    style="?android/spinnerStyle"
    ...
/>

所有功能都可以在Android 5模拟器上正常运行。我的TextView和其他Spinner看起来很像。它们在右侧显示一个小的向下箭头:

The material spinner arrow

但是,当我在Android 4.4模拟器上运行相同的代码时,Spinner仍然如上所示(因为我在最新版本中使用了支持库),但TextView 1}}看起来像Android 4.4微调器:

Old non-material spinner style

这导致我的活动外观不一致。我注意到Spinner是支持库为早于5的Android版本处理其风格的控件之一。

我的问题是:有没有办法告诉TextView使用AppCompat微调器样式?如果是这样,我该怎么做?

2 个答案:

答案 0 :(得分:3)

enter image description here
下载三角形图标并将其作为资产添加到您的绘图中后,您可以使用此样式,U可以根据您在相对布局和Textview中的要求调整边距。

您可以使用onClickListeners添加显示自定义编辑对话框或其他任何内容的操作

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#D3D3D3"
    android:layout_margin="10dp">
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:drawableRight="@drawable/ic_sort_down"
        android:layout_margin="10dp"/>
</RelativeLayout>

答案 1 :(得分:0)

似乎我自己意外地发现了这些风格。以下提供了所需的布局:

<TextView
    style="@style/Base.Widget.AppCompat.Spinner"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:textAppearance="@style/TextAppearance.AppCompat.Widget.TextView.SpinnerItem"
    android:paddingStart="8dp"
    android:paddingEnd="8dp"
/>