如何在不影响其弹出菜单的情况下向微调器添加边框

时间:2016-04-03 00:06:46

标签: android android-spinner android-theme

我正在尝试为我的微调器添加边框。

这是我到目前为止所做的:

在我的styles.xml中:

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
      <!-- ... -->       
      <item name="android:spinnerItemStyle">@style/spinnerItemStyle</item>
      <!-- ... -->
</style>

<style name="spinnerItemStyle">
        <item name="android:padding">@dimen/form_horizontal_padding_normal</item>
        <item name="android:textAppearance">@style/TextAppearance.AppCompat.Subhead</item>
        <item name="android:background">@drawable/spinner_border</item>
        <item name="android:textColor">@color/secondary_text</item>
 </style>

spinner_border.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android"
       android:shape="rectangle">
    <solid android:color="@android:color/white"/>
    <corners android:radius="6dp"/>
    <stroke
        android:width="1dp"
        android:color="@color/detail_accent_pane_background"/>

</shape>

如果没有更改,这就是弹出菜单的外观:

enter image description here

更改后,微调器具有边框

enter image description here

但是弹出菜单也有边框,这不是我想要的。 enter image description here

如何在不影响弹出菜单的情况下为微调器添加边框?

感谢。

2 个答案:

答案 0 :(得分:2)

添加

android:popupBackground="@android:color/transparent" 

到xml

中的<Spinner/>视图

答案 1 :(得分:1)

这可能对您有所帮助

<强> backgroud_spinner.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <stroke android:width="0dp" android:color="#80FFFFFF" />
    <solid android:color="#80FFFFFF"/>
</shape>

并应用此,

 android:popupBackground="@drawable/backgroud_spinner"

它会使弹出窗口完全透明,但我不知道它是否适合你,当我使用你的绘图时,它没有显示你在图像中显示的图像