Android:将按钮绘制为微调器

我有一个自定义的android视图,它扩展了’Button’并充当了一个多级微调器 – 当它被按下时,它会显示一系列类似微调器的对话框,允许用户优化他们的选择。 在这种情况下,它允许用户选择他们想要发生拾取的日,然后是小时,然后是分钟(以5分钟为间隔)。 当对话框未激活时,按钮上会显示当前选择的文本说明。

我想直观地指出用户可以通过按下按钮来改变选择,并认为微调器的外观正是我所需要的。 我希望外观与设备上的其他微调器相同,并且能够轻松更改按钮上的文本,但我不确定如何在没有它的情况下实现这一点。 我应该如何将按钮显示为与设备上其他微调器一致的微调器图标?

  • 将Android Widget限制为每个设备一个实例
  • AutoStart应用程序无法正常工作
  • 是否有可能在Mono Android中使用没有ListActivity的ListView?
  • 如何为Android App Widget提供标签/名称
  • RadioGroup,setEnabled(false)无效!
  • 旋转视图层次90度
  • android AutoCompleteTextView白色白色下拉列表
  • Android:在设置WebViewCore之前不支持EventHub.removeMessages(int what = 107)
  • 这就是我设法绘制一个像Spinner样式的按钮:

     

    而已!

    更新

    以下内容也应该有效:

      

    有关更多样式,请查看SDK,例如sdk/platforms/android-18/data/res/values/styles.xml

    我find了解决问题的方法。 在我的按钮的构造函数中,我将背景可绘制资源设置为“btn_dropdown”。

     public DateAndTimePicker(Context context) { super(context); this.setBackgroundResource(android.R.drawable.btn_dropdown); } 

    它看起来与微调器按钮相同,按钮行为都没有改变,按钮文本正确居中。

    这是我的绘图按钮解决方案,像一个微调器:

      

    这是我的res / values / styles.xml的一部分:

      

    这是我的res / values-v14 / styles.xml的一部分:

      

    这种XML布局使按钮看起来像一个微调器。

       

    您可以在按钮上定义android:background属性,以使用看起来像微调器的drawable。 我通过为微调器创建一个9补丁图像,将其放入我的res / drawable文件夹,然后为我的自定义微调按钮添加样式来完成此操作:

      

    对于您的按钮,将style属性添加到布局的XML布局: