单击期间防止微调器下划线变为粗体

时间:2018-05-12 07:02:38

标签: android android-spinner underline

我需要在我的Spinner下面添加一个下划线。从这些链接:

我已实施以下内容:

reminder_dialog_fragment.xml

<android.support.v7.widget.AppCompatSpinner
    android:id="@+id/spinner_1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    style="@style/Widget.AppCompat.Spinner.Underlined"
    android:theme="@style/MySpinnerTheme" />

styles.xml

<style name="MySpinnerTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- set color for underline below Spinner -->
    <item name="colorControlActivated">#ffcfd8dc</item>
    <item name="colorControlHighlight">#ffcfd8dc</item>
    <item name="colorControlNormal">#ffcfd8dc</item>
</style>

我设法在Spinner&amp;下面显示underline。更改underline's color。但在spinner onclick / highlighted期间,Spinner上有一些animation effect

  1. Rippletriangle(Spinner右侧)的影响

  2. Spinner下面的underline变为bold

  3. enter image description here

    如何保持(1)的效果,但禁用(2)的效果?

    换句话说,我想在点击Spinner时阻止underline成为bold

3 个答案:

答案 0 :(得分:0)

可能是你可以尝试

 android:elevation="5dp"

in xml

答案 1 :(得分:0)

尝试使用下面的代码段来移除Spinner Bottomline颜色

    app:ms_basecolor="@android:color/transparent"
    app:ms_hightlightcolor="@android:color/transparent"

我希望它对你有用!

答案 2 :(得分:0)

  

有多种方法可以做到这一点。尝试将背景视为透明。

suppressWarnings
  

或者创建一个EditText,如下面的代码所示:

compileKotlin {
    kotlinOptions.suppressWarnings = true
}
  

您可以从矢量资源中找到drop_down_arrow。对于EditText的Border,创建一个名为“edittext_rectangle_border.xml”的drawable并将下面的代码粘贴到其中。

<Spinner
  android:id="@+id/spTest"
  android:layout_margin="10dp"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:prompt="@string/spinner_prompt"
  android:background="@android:color/transparent"
  android:entries="@array/spinnerList"/>
  

完成上述操作后,打开java文件并使用onSetClickListner在EditText上创建一个Dialog,然后在对话框中显示该列表。稍后在选择项目时设置EditText文本。

     

希望你觉得它很有用。