Android学习开发之路10——高级按钮控制

本文介绍了Android中按钮动态变化的实现方式,包括普通按钮和图片按钮的使用,并通过指定XML文件来实现在按钮被按下时图片的动态切换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

android中的按钮分为两类,普通按钮和图片按钮。而且我们可以通过指定xml文件作为按钮的资源或者背景,来实现按钮的动态变化。下面的这个程序实现了按钮按下去之后按钮的图片改变的效果。

按下之前和按下时的对比


这个效果就是通过指定一定xml文件实现的。代码:

<?xmlversion="1.0"encoding="utf-8"?>
  1. <TableLayoutxmlns:android="http://schemas.android.com/apk/res/android"
  2. android:orientation="horizontal"
  3. android:layout_width="fill_parent"
  4. android:layout_height="fill_parent"
  5. >
  6. <TableRow>
  7. <!--普通文字按钮-->
  8. <Button
  9. android:layout_width="wrap_content"
  10. android:layout_height="wrap_content"
  11. android:background="@drawable/red"
  12. android:text="普通按钮"
  13. android:textSize="10pt"
  14. />
  15. <!--普通图片按钮-->
  16. <ImageButton
  17. android:layout_width="wrap_content"
  18. android:layout_height="wrap_content"
  19. android:src="@drawable/blue"
  20. android:background="#000000"
  21. />
  22. </TableRow>
  23. <TableRow>
  24. <!--按下时显示不同图片的按钮-->
  25. <ImageButton
  26. android:layout_width="wrap_content"
  27. android:layout_height="wrap_content"
  28. android:src="@drawable/button_selector"
  29. android:background="#000000"
  30. />
  31. <!--带文字的图片按钮-->
  32. <Button
  33. android:id="@+id/test"
  34. android:layout_width="wrap_content"
  35. android:layout_height="wrap_content"
  36. android:background="@drawable/button_selector"
  37. android:text="带文字的图片按钮"
  38. />
  39. </TableRow>
  40. </TableLayout>
<?xml version="1.0" encoding="utf-8"?> <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TableRow> <!-- 普通文字按钮 --> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/red" android:text="普通按钮" android:textSize="10pt" /> <!-- 普通图片按钮 --> <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/blue" android:background="#000000" /> </TableRow> <TableRow> <!-- 按下时显示不同图片的按钮 --> <ImageButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/button_selector" android:background="#000000" /> <!-- 带文字的图片按钮--> <Button android:id="@+id/test" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/button_selector" android:text="带文字的图片按钮" /> </TableRow> </TableLayout>
<?xmlversion="1.0"encoding="UTF-8"?>
  1. <selectorxmlns:android="http://schemas.android.com/apk/res/android">
  2. <!--指定按钮按钮下时的图片-->
  3. <itemandroid:state_pressed="true"
  4. android:drawable="@drawable/red"
  5. />
  6. <!--指定按钮松开时的图片-->
  7. <itemandroid:state_pressed="false"
  8. android:drawable="@drawable/purple"
  9. />
  10. </selector>
<?xml version="1.0" encoding="UTF-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 指定按钮按钮下时的图片 --> <item android:state_pressed="true" android:drawable="@drawable/red" /> <!-- 指定按钮松开时的图片 --> <item android:state_pressed="false" android:drawable="@drawable/purple" /> </selector>

源码资料下载:

Android 应用功能150多个实例源码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值