android spinner对目标的涟漪效应19

时间:2016-02-15 10:33:43

标签: android android-spinner

大家好我想做的就像下图enter image description here

我已经完成了,我为行项目制作了自定义视图

  <?xml version="1.0" encoding="utf-8"?>

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:layout_width="wrap_content"
     android:layout_height="fill_parent"
       >
          <com.andexert.library.RippleView
      android:id="@+id/more1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
     >
        <TextView 
        android:id="@+id/tvspinnerlist"
        android:text="Spinner List"
        android:singleLine="false"
        android:textAppearance="?android:attr/textAppearanceMedium"
       android:padding="4dp"
       android:fontFamily="sans-serif-medium" 
        android:textColor="@color/black"
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:layout_marginRight="5dp"
        android:layout_marginLeft="3dp"
        android:ellipsize="marquee" />
        </com.andexert.library.RippleView>
    </RelativeLayout>

这是我的微调器

<com.andexert.library.RippleView
  android:id="@+id/more1"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
       >           
   <Spinner
    android:id="@+id/spnOperator"
     style="?android:label"
   android:descendantFocusability="blocksDescendants"
   android:layout_marginTop="10dp"
     android:layout_width="wrap_content"
    android:layout_height="wrap_content"
   android:layout_weight="0.17" /> 
</com.andexert.library.RippleView> 

为此,我面临着两个问题......

  1. 点击右侧按钮(三角形btn)旋转器打开(不在旋转器点击时打开)
  2. 微调器不会关闭项目选择
  3. 谢谢,

1 个答案:

答案 0 :(得分:0)

你基本上有两种方式:

  1. 在res / values-v21 /中创建RippleDrawable,并将其设置为Spinner spinner.setBackgroundResource(R.drawable.spinner_background);的背景。
  2. 使用主题执行此操作。像这样定义微调器:(在activity.xml中的某个位置)      的 ripple_background.xml

    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item>
            <ripple android:color="?android:attr/colorControlHighlight">
               <item>
                  <shape>
                      <solid android:color="@android:color/white" />
                  </shape>
               </item>
            </ripple>
        </item>
    </selector>