关于安卓开发实现双状态按钮
双状态按钮(Toggle)
xml文件代码

1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="match_parent" 4 android:layout_height="match_parent" 5 android:orientation="vertical" > 6 <ImageView android:layout_width="wrap_content" 7 android:layout_height="wrap_content" 8 android:src="@drawable/bulb_off" 9 android:id="@+id/imageView" 10 android:layout_gravity="center_horizontal" 11 /> 12 <ToggleButton android:layout_width="140dip" 13 android:layout_height="wrap_content" 14 android:textOn="打开" 15 android:textOff="关闭" 16 android:id="@+id/toggleButton" 17 android:layout_gravity="center_horizontal" 18 /> 19 20 </LinearLayout>
java文件

1 package lianxi; 2 3 import java.security.PublicKey; 4 5 import com.example.jichu_lianxi.R; 6 7 import android.app.Activity; 8 import android.os.Bundle; 9 import android.widget.CompoundButton; 10 import android.widget.CompoundButton.OnCheckedChangeListener; 11 import android.widget.ImageView; 12 import android.widget.ToggleButton; 13 /* 14 * 双按钮 15 */ 16 public class ToggleButton_lianxi extends Activity{ 17 private ImageView imageView = null; //图片标签 18 private ToggleButton toggleButton = null; //双状态按钮 19 20 @Override 21 protected void onCreate(Bundle savedInstanceState) { 22 // TODO Auto-generated method stub 23 super.onCreate(savedInstanceState); 24 setContentView(R.layout.togglebutton_lianxi); 25 26 imageView = (ImageView) findViewById(R.id.imageView); 27 toggleButton = (ToggleButton) findViewById(R.id.toggleButton); 28 29 //设置按钮响应 30 toggleButton.setOnCheckedChangeListener(new OnCheckedChangeListener() { 31 32 @Override 33 public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { 34 // TODO Auto-generated method stub 35 toggleButton.setChecked(isChecked); 36 //设置图片 37 imageView.setImageResource(isChecked?R.drawable.bulb_on:R.drawable.bulb_off); 38 } 39 }); 40 41 } 42 43 }
效果图
作者:听着music睡
出处:http://www.cnblogs.com/xqxacm/
Android交流群:38197636
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?