【发布时间】:2018-02-23 22:35:33
【问题描述】:
我有一个按钮,我想让它们看起来像一个微调器。 我从 2011 年发现了这篇文章: Android: Drawing a button as a spinner
而且没有一个解决方案对我有用。
如果我可以使用我的自定义背景会更好。 这些是按钮:
<Button
android:id="@+id/new_msn_act_type"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:background="@drawable/button_border"
android:onClick="showPopup"
android:padding="6dp"
android:text="Order Type"
android:textColor="@color/colorPrimary" />
<Button
android:id="@+id/new_msn_datetimepick"
android:layout_width="120dp"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp"
android:background="@drawable/button_border"
android:onClick="pickDateTime"
android:padding="6dp"
android:text="Date and Time"
android:textColor="@color/colorPrimary" />
我尝试了帖子中建议的每一种解决方案,包括
style="?android:attr/spinnerStyle"
And they didn't work. How can I solve it ? Thanks
我需要它是一个按钮,因为我想使用可绘制样式作为背景,我希望它打开 PopupMenu,我努力让弹出窗口正确显示图标...
【问题讨论】:
-
让微调器看起来像一个按钮会容易得多
-
最简单的方法可能是使用微调器并覆盖其 onClick。您看到的很多按钮不是按钮,而是其他视图,例如 TextViews 或带有 onClick 集的 FrameLayouts。
-
@GabeSechan 听起来很诱人,我创建了 Spinner,并添加了: android:onClick="showPopup" (就像原来的按钮一样)但它不起作用:原因:java.lang.RuntimeException:不要为 AdapterView 调用 setOnClickListener。您可能想要 setOnItemClickListener 代替
-
将图标添加到我的按钮也会有所帮助。我该怎么做?