代码之家  ›  专栏  ›  技术社区  ›  user77115

是什么让鼠标点击按钮变色的?

  •  1
  • user77115  · 技术社区  · 16 年前

    为什么单击此按钮时颜色变为橙色:

    <Button android:background="@android:drawable/btn_plus" ...>
    

    但这不是吗?

    <Button android:background="@drawable/ic_btn_round_plus" ...>   
    

    编辑:
    找到另一种类型的按钮(文本和图像),单击时颜色变为橙色
    无需创建选择器:

    <Button android:text="List" android:drawableTop="@drawable/list" ...>       
    
    1 回复  |  直到 15 年前
        1
  •  3
  •   Sephy    16 年前

    因为第一个来自Android框架,并且有一个与之相关联的选择器,另一个来自您的代码,显然您没有在上面放置选择器。
    这解释得很好 here . 简言之,您需要在按钮的背景中放置一个可拖动的选择器,而不只是一个可拖动的选择器:

    <selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_selected="true" android:drawable="@drawable/ic_btn_round_plusorange" />
    <item android:state_pressed="true" android:drawable="@drawable/ic_btn_round_plusorange" />
    <item android:drawable="@drawable/ic_btn_round_plus" />
    </selector>
    

    例如,你创建了一个可绘制的副本,但添加了橙色。 当点击或选择按钮时,Android系统将切换抽屉。