【问题标题】:How to create android spinner without down triangle on the right side of the widget with bottom line如何在带有底线的小部件右侧创建没有向下三角形的android微调器
【发布时间】:2016-12-07 09:25:52
【问题描述】:

我想删除右侧的向下三角形并希望达到底线。我正在使用以下代码添加底线:

<Spinner
android:id="@+id/buttonSelectCountry"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:gravity="center"
android:spinnerMode="dropdown"
android:text="Select country"
style="@style/Widget.AppCompat.Spinner.Underlined"/>

以下代码删除向下箭头:

<Spinner
android:id="@+id/buttonSelectCountry"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:gravity="center"
android:spinnerMode="dropdown"
android:text="Select country"
style="@style/Widget.AppCompat.Spinner.Underlined"
android:background="#FFFFFF"/>

但是使用上面的代码,底线也变得不可见。

我该怎么做。

【问题讨论】:

  • 结帐this answer
  • 我也想在底部加一行
  • triangle 是背景图像的一部分。将您自己的背景设置为微调器。您也可以在背景中添加一条线。
  • 检查我的答案。它对我有用。

标签: android android-layout android-spinner android-styles


【解决方案1】:
<?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
   <item>
    <layer-list>
        <item>
            <shape >
                <corners android:radius="5dp" />
                <!--<padding android:bottom="3dp" android:left="3dp" android:right="3dp" android:top="3dp" />-->
                <solid android:color="@color/bgcolor"/>
            </shape>
        </item>
        <item>
            <bitmap android:gravity="bottom|center" android:src="@drawable/ninepatchline" />
        </item>
    </layer-list>
  </item>
</selector> 

将此可绘制对象设置为微调器的背景

更新

将 paddingBottom 添加到微调器。

android:paddingBottom="@dimen/min_padding"

【讨论】:

    【解决方案2】:

    您可以在有底线的可绘制文件夹中使用自定义背景。

    bottom_line.xml

    <?xml version="1.0" encoding="utf-8"?>
    <layer-list xmlns:android="http://schemas.android.com/apk/res/android">
        <item>
            <shape>
                <solid
                    android:color="#000000" />
                <padding
                    android:bottom="1dp" />
            </shape>
        </item>
        <item>
            <shape>
    
                <solid android:color="#FFFFFF"/>
            </shape>
        </item>
    </layer-list>
    

    把它作为你的背景到微调器:

    <Spinner
        android:id="@+id/buttonSelectCountry"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:layout_centerHorizontal="true"
        android:spinnerMode="dropdown"
        android:text="Select country"
        android:background="@drawable/bottom_line"/>
    

    【讨论】:

      【解决方案3】:

      您可以简单地为您的微调器添加背景。如果您的主背景是白色,那么您可以简单地将微调器背景设置为白色代码或任何您想要的与主背景匹配的相关颜色代码。

      <Spinner
      android:id="@+id/buttonSelectCountry"
      android:layout_width="match_parent"
      android:layout_height="wrap_content"
      android:layout_marginBottom="10dp"
      android:gravity="center"
      android:text="Select country"
      android:background="#FFFFFF"/>
      

      将此代码替换为您的代码。

      【讨论】:

        猜你喜欢
        • 2013-06-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-12-17
        • 2017-01-09
        • 2010-11-24
        • 2016-07-28
        相关资源
        最近更新 更多