我正在处理一个自定义的旋转器,因为我希望在旋转器中选择的项出现在一个圆圈中,但是在旋转器的右下角也有一个通常的三角形。我创建的视图如下:
<RelativeLayout
android:layout_width="48dp"
android:layout_height="48dp"
android:layout_centerVertical="true"
android:gravity="center_vertical">
<Spinner
android:id="@+id/equationSpinner"
android:layout_width="28dp"
android:layout_height="28dp"
android:background="@drawable/circle"
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
android:drawSelectorOnTop="true"
/>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:src="@drawable/spinner_select" />
</RelativeLayout>@drawable/spinner_select是另一个xml文件:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false"
android:drawable="@drawable/apptheme_spinner_disabled_holo_light" />
<item android:state_pressed="true"
android:drawable="@drawable/apptheme_spinner_pressed_holo_light" />
<item android:state_pressed="false" android:state_focused="true"
android:drawable="@drawable/apptheme_spinner_focused_holo_light" />
<item android:drawable="@drawable/apptheme_spinner_default_holo_light" />
</selector>此xml引用旋转器的4种状态,并针对每个状态有不同的9修补程序映像。该应用程序运行正常,但似乎总是使用默认图像。当旋转器被按下或禁用时,我如何让它使用其他图像?由于ImageView使用spinner_select布局,所以可能需要以某种方式将旋转器的状态传递给ImageView?谢谢
发布于 2015-11-19 17:25:11
问题是在ImageView中而不是在旋转器中实现选择器。切换绘图和重新格式化的工作方式如下:
<RelativeLayout
android:layout_width="48dp"
android:layout_height="48dp"
android:gravity="center_vertical|start">
<Spinner
android:id="@+id/operatorSpinner"
android:layout_width="48dp"
android:layout_height="48dp"
android:src="@drawable/spinner_select"
android:layout_alignParentBottom="true"
android:layout_alignParentEnd="true"
android:drawSelectorOnTop="true"
/>
<ImageView
android:layout_marginStart="2dp"
android:id="@+id/ivOperatorSpinner"
android:layout_width="28dp"
android:layout_height="28dp"
android:layout_centerVertical="true"
android:layout_alignParentStart="true"
android:background="@drawable/circle" />
</RelativeLayout>https://stackoverflow.com/questions/33809318
复制相似问题