本文實例講述了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程序設計有所幫助。
新聞熱點
疑難解答