Android开发中button按钮的使用及动态添加组件方法示例

时间:2021-05-20

本文实例讲述了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程序设计有所帮助。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章