Android開發(fā)中button按鈕的使用及動(dòng)態(tài)添加組件方法示例
本文實(shí)例講述了Android開發(fā)中button按鈕的使用及動(dòng)態(tài)添加組件方法。分享給大家供大家參考,具體如下:
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; //這個(gè)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); //設(shè)置改變?cè)瓉淼膱D片
et1.setVisibility(View.GONE);
et2.setVisibility(View.GONE);
}
else //輸入賬號(hào)或者密碼錯(cuò)誤的時(shí)候
{
et2.setText("");
et2.setHint("賬號(hào)或密碼錯(cuò)誤");
}
}
};
ib.setOnClickListener(listener);
//長(zhǎng)按imagebutton
OnLongClickListener longlistener = new OnLongClickListener() {
@Override
public boolean onLongClick(View arg0) {
// TODO Auto-generated method stub
Toast.makeText(context, "動(dòng)態(tài)添加了TextView了哦", Toast.LENGTH_SHORT);
tv = new TextView(context);
tv.setText("這里是動(dòng)態(tài)添加的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("請(qǐng)輸入用戶名");
et2.setHint("請(qǐng)輸入密碼");
et1.setText("");
et2.setText("");
et2.requestFocus(); //將光標(biāo)定位EditText
et1.setVisibility(View.VISIBLE);
et2.setVisibility(View.VISIBLE);
mLinearLayout.removeAllViews(); //點(diǎn)擊重置按鈕的時(shí)候,也將原來添加的組件一起清除
}
};
btn.setOnClickListener(listener2);
}
//初始化函數(shù)
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="請(qǐng)輸入用戶名"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<EditText
android:id="@+id/et_passward"
android:hint="請(qǐng)輸入密碼"
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>
更多關(guān)于Android相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Android基本組件用法總結(jié)》、《Android開發(fā)入門與進(jìn)階教程》、《Android布局layout技巧總結(jié)》、《Android視圖View技巧總結(jié)》、《Android編程之a(chǎn)ctivity操作技巧總結(jié)》、《Android資源操作技巧匯總》及《Android控件用法總結(jié)》
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
相關(guān)文章
Android編程UI設(shè)計(jì)之GridView和ImageView的用法
這篇文章主要介紹了Android編程UI設(shè)計(jì)之GridView和ImageView的用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Android中GridView和ImageView組件的相關(guān)方法使用技巧,需要的朋友可以參考下2016-01-01
解析android創(chuàng)建快捷方式會(huì)啟動(dòng)兩個(gè)應(yīng)用的問題
本篇文章是對(duì)關(guān)于android創(chuàng)建快捷方式會(huì)啟動(dòng)兩個(gè)應(yīng)用的問題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
Android SdkVersion的區(qū)別及獲取版本信息方法
下面小編就為大家?guī)硪黄狝ndroid SdkVersion的區(qū)別及獲取版本信息方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-03-03
Android 實(shí)現(xiàn)微信長(zhǎng)按菜單 -FloatMenu
在日常開發(fā)中,長(zhǎng)按某個(gè)view出現(xiàn)個(gè)菜單是很常見的需求,下面小編給大家?guī)砹薃ndroid 實(shí)現(xiàn)微信長(zhǎng)按菜單 -FloatMenu的實(shí)現(xiàn)思路及具體實(shí)現(xiàn)代碼,感興趣的朋友跟隨腳本之家小編一起看看吧2018-07-07
基于Rxjava實(shí)現(xiàn)輪詢定時(shí)器
這篇文章主要為大家詳細(xì)介紹了基于Rxjava實(shí)現(xiàn)輪詢定時(shí)器,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-06-06
Android跳轉(zhuǎn)系統(tǒng)設(shè)置Settings的各個(gè)界面詳解
系統(tǒng)設(shè)置Settings中定義的一些常用的各界面ACTION常量,下面這篇文章主要給大家介紹了關(guān)于Android跳轉(zhuǎn)系統(tǒng)設(shè)置Settings的各個(gè)界面,文中介紹非常詳細(xì),需要的朋友可以參考下2023-01-01
Win10下android studio開發(fā)環(huán)境配置圖文教程
這篇文章主要為大家詳細(xì)介紹了Win10下android studio開發(fā)環(huán)境配置圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-07-07
AndroidManifest.xml <uses-feature>和<uses-permisstio
這篇文章主要介紹了AndroidManifest.xml <uses-feature>和<uses-permisstion>分析及比較的相關(guān)資料,需要的朋友可以參考下2017-06-06
Android實(shí)現(xiàn)測(cè)試環(huán)境噪音分貝
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)測(cè)試環(huán)境噪音分貝,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01

