【问题标题】:Style TextView as material-style Spinner on API level 19在 API 级别 19 上将 TextView 样式设置为材质样式 Spinner
【发布时间】:2016-10-25 06:50:34
【问题描述】:

我正在尝试将TextView 设置为我的应用程序中的微调器,使其看起来像微调器,但确实允许我轻松地显示用于编辑值的自定义对话框。

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

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

在 Android 5 模拟器上一切正常。我的TextView 和其他Spinners 看起来很像。它们在右侧显示一个小向下箭头:

但是,当我在 Android 4.4 模拟器上运行相同的代码时,Spinners 仍然像上面那样(因为我使用的是最新版本的支持库),但 TextView 看起来像Android 4.4 微调器:

这会导致我的 Activity 外观不一致。我注意到Spinner 是控件之一,其样式由支持库处理,适用于早于 5 的 Android 版本。

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

【问题讨论】:

  • 你在使用支持库吗?
  • @PankajKumar 是的。抱歉没有在问题中更清楚地说明这一点,我将进行编辑。
  • 听到为什么这个问题被否决会非常有趣......
  • 嘿,投反对票的不是我 :) 我没有理由这样做
  • 我不是故意说是你——知道为什么会很有趣......

标签: android textview styles android-appcompat


【解决方案1】:


您可以在下载下三角形图标并将其作为资产添加到您的drawables后使用此样式,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>

【讨论】:

  • 其实这不是我想要的。请参阅我自己的答案。
【解决方案2】:

似乎我自己偶然发现了这些样式。以下提供了所需的布局:

<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"
/>

【讨论】:

    猜你喜欢
    • 2015-03-20
    • 1970-01-01
    • 2017-08-22
    • 2019-04-05
    • 2022-07-19
    • 2020-10-17
    • 2023-03-28
    • 1970-01-01
    • 2017-11-16
    相关资源
    最近更新 更多