状态按钮选择器android

zbdgwd5y  于 2023-01-03  发布在  Android
关注(0)|答案(1)|浏览(131)

我需要使用一个状态按钮选择器。我已经读了一些文章在互联网上关于这个问题,但它仍然不工作。
按钮代码(来自布局):

  1. <Button
  2. android:id="@+id/btn_shoot"
  3. android:layout_width="80dp"
  4. android:layout_height="80dp"
  5. android:layout_column="0"
  6. android:layout_gravity="left|bottom"
  7. android:layout_row="2"
  8. android:background="@drawable/button_style"/>

选择器代码(可绘制):

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <selector xmlns:android="http://schemas.android.com/apk/res/android" >
  3. <item android:drawable="@drawable/button_pressed"
  4. android:state_pressed="true" />
  5. <item android:drawable="@drawable/button_default" />
  6. </selector>

谢谢你未来的答案。

kh212irz

kh212irz1#

您可以尝试本教程。
http://www.mkyong.com/android/android-imagebutton-selector-example/
准备3个按钮状态图像,并将其放入“resource/drawable”文件夹中。

  • button_normal_green. png-默认图像按钮。
  • button_focused_orange.png -当按钮被聚焦时显示,例如,当手机键盘在此按钮上移动(聚焦)时。
  • button_pressed_yellow. png-按下按钮时显示。

现在,在“res/drawable/”文件夹中创建一个新的XML文件,可以使用任何名称,在本例中,我们只给予一个名称“new_button. xml”。该文件定义了哪个按钮状态属于哪个图像。
现在,您可以通过此ID引用此按钮:@可绘制/新建按钮。

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <selector xmlns:android="http://schemas.android.com/apk/res/android">
  3. <item android:drawable="@drawable/button_pressed_yellow"
  4. android:state_pressed="true" />
  5. <item android:drawable="@drawable/button_focused_orange"
  6. android:state_focused="true" />
  7. <item android:drawable="@drawable/button_normal_green" />
  8. </selector>

打开“res/layout/main.xml”文件,添加一个普通按钮,并通过“android:background="@drawable/new_button”将背景图像附加到“new_button”上方。
你也可以用一些形状来代替图像。为三种不同的按钮状态创建三种不同的形状。

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
  3. <corners
  4. android:radius="14dp"/>
  5. <gradient
  6. android:angle="45"
  7. android:centerX="35%"
  8. android:centerColor="#7995A8"
  9. android:startColor="#E8E8E8"
  10. android:endColor="#000000"
  11. android:type="linear"/>
  12. <padding
  13. android:left="0dp"
  14. android:top="0dp"
  15. android:right="0dp"
  16. android:bottom="0dp"/>
  17. <size
  18. android:width="270dp"
  19. android:height="60dp"/>
  20. <stroke
  21. android:width="3dp"
  22. android:color="#878787"/>
  23. </shape>

希望这能帮上忙

展开查看全部

相关问题