Android开发中button按钮的使用及动态添加组件方法示例
程序员文章站
2022-06-04 10:32:35
本文实例讲述了android开发中button按钮的使用及动态添加组件方法。分享给大家供大家参考,具体如下:
mainactivity.java
package...
本文实例讲述了android开发中button按钮的使用及动态添加组件方法。分享给大家供大家参考,具体如下:
mainactivity.java
package com.example.lab2; import android.os.bundle; import android.app.activity; import android.content.context; import android.view.menu; import android.view.view; import android.view.view.onclicklistener; import android.view.view.onlongclicklistener; import android.widget.button; import android.widget.edittext; import android.widget.imagebutton; import android.widget.linearlayout; import android.widget.textview; import android.widget.toast; public class mainactivity extends activity { edittext et1; //输入用户名的edittext edittext et2; //输入密码的edittext imagebutton ib; //声明imagebutton button btn; //重置按钮 context context; linearlayout mlinearlayout; //这个lineatlayout用于放置添加的组件 textview tv; @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); init(); //初始化 //单击imagebutton onclicklistener listener = new onclicklistener() { @override public void onclick(view arg0) { // todo auto-generated method stub if(et1.gettext().tostring().equals("android") && et2.gettext().tostring().equals("2015")) { ib.setimageresource(r.drawable.state1); //设置改变原来的图片 et1.setvisibility(view.gone); et2.setvisibility(view.gone); } else //输入账号或者密码错误的时候 { et2.settext(""); et2.sethint("账号或密码错误"); } } }; ib.setonclicklistener(listener); //长按imagebutton onlongclicklistener longlistener = new onlongclicklistener() { @override public boolean onlongclick(view arg0) { // todo auto-generated method stub toast.maketext(context, "动态添加了textview了哦", toast.length_short); tv = new textview(context); tv.settext("这里是动态添加的textview"); mlinearlayout.addview(tv); //添加组件 return false; } }; ib.setonlongclicklistener(longlistener); //重置 onclicklistener listener2 = new onclicklistener() { @override public void onclick(view arg0) { // todo auto-generated method stub ib.setimageresource(r.drawable.state2); et1.sethint("请输入用户名"); et2.sethint("请输入密码"); et1.settext(""); et2.settext(""); et2.requestfocus(); //将光标定位edittext et1.setvisibility(view.visible); et2.setvisibility(view.visible); mlinearlayout.removeallviews(); //点击重置按钮的时候,也将原来添加的组件一起清除 } }; btn.setonclicklistener(listener2); } //初始化函数 public void init() { et1 = (edittext)findviewbyid(r.id.et_username); et2 = (edittext)findviewbyid(r.id.et_passward); ib = (imagebutton)findviewbyid(r.id.ib); btn = (button)findviewbyid(r.id.btn); context = mainactivity.this; mlinearlayout = (linearlayout)findviewbyid(r.id.linearlayout); } }
xml:
<linearlayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <edittext android:id="@+id/et_username" android:hint="请输入用户名" android:layout_width="fill_parent" android:layout_height="wrap_content"/> <edittext android:id="@+id/et_passward" android:hint="请输入密码" android:inputtype="textpassword" android:layout_width="fill_parent" android:layout_height="wrap_content"/> <imagebutton android:id="@+id/ib" android:src="@drawable/state2" android:layout_width="50dp" android:layout_height="50dp"/> <button android:id="@+id/btn" android:text="重置" android:layout_width="wrap_content" android:layout_height="wrap_content"/> <linearlayout android:id="@+id/linearlayout" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical"> </linearlayout> </linearlayout>
更多关于android相关内容感兴趣的读者可查看本站专题:《android基本组件用法总结》、《android开发入门与进阶教程》、《android布局layout技巧总结》、《android视图view技巧总结》、《android编程之activity操作技巧总结》、《android资源操作技巧汇总》及《android控件用法总结》
希望本文所述对大家android程序设计有所帮助。
上一篇: Python数据结构实现_排序算法
下一篇: android原生JSON解析实例