`

ch02 Android TextView与EditView

阅读更多

--------------------------------------------strings.xml--------------------------------------------

<resources>
    <string name="app_name">com.ch02</string>
    <string name="hello_world">Hello world!</string>
    <string name="menu_settings">Settings</string>
    <string name="title_activity_main">com.ch02</string>
	<string name="uname">用户名</string>
	<string name="upass">密码</string>
</resources>

 

--------------------------------------------activity_main.xml------------------------------------

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/LinearLayout1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/uname" />
    <EditText
        android:id="@+id/uname"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />
    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/upass" />

    <EditText
        android:id="@+id/upass"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:inputType="textPassword" />

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="显示密码" />

    <CheckBox
        android:id="@+id/show"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

    <Button
        android:id="@+id/btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="登录" />

</LinearLayout>

 

--------------------------------------------MainActivity-------------------------------------------

package com.ch02;
import com.ch02.R;
import android.app.Activity;
import android.os.Bundle;
import android.text.method.HideReturnsTransformationMethod;
import android.text.method.PasswordTransformationMethod;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.EditText;
import android.widget.Toast;
/**
 * 
 * 项目名称:com.ch02 
 * 类名称:MainActivity    
 * 类描述: 用户登录验证
 * 创建人:fy   
 * 创建时间:2012-11-2 上午9:36:10   
 * Copyright (c) 方勇-版权所有
 */
public class MainActivity extends Activity {
	/* 用户名 */
	private EditText field_uname;
	/* 密码 */
	private EditText field_upass;
	/* 登录按钮 */
	private Button btn_login;
	/* 密码显示与隐藏开关 */
	private CheckBox check_show;

	private boolean mbDisplayFlg = false;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		findViews();
		setListeners();
	}

	/* 初始化UI控件 */
	private void findViews() {
		field_uname = (EditText) findViewById(R.id.uname);
		field_upass = (EditText) findViewById(R.id.upass);
		btn_login = (Button) findViewById(R.id.btn);
		check_show = (CheckBox) findViewById(R.id.show);
	}

	/* 设置监听器 */
	private void setListeners() {
		btn_login.setOnClickListener(onClickListener);
		check_show.setOnCheckedChangeListener(onCheckedChangeListener);
	}

	/* 复选按钮事件,密码显示与隐藏开关 */
	private OnCheckedChangeListener onCheckedChangeListener = new OnCheckedChangeListener() {

		@Override
		public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
			if (!mbDisplayFlg) {
				// display password text, for example "123456"
				field_upass.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
			} else {
				// hide password, display "."
				field_upass.setTransformationMethod(PasswordTransformationMethod.getInstance());
			}
			mbDisplayFlg = !mbDisplayFlg;
			field_upass.postInvalidate();

		}

	};

	/* 监听器 变量 */
	private OnClickListener onClickListener = new OnClickListener() {

		public void onClick(View v) {
			Toast.makeText(MainActivity.this, field_uname.getText().toString(), Toast.LENGTH_SHORT).show();
		}
	};
}

 

  • 大小: 77.8 KB
  • 大小: 77.1 KB
  • 大小: 81.6 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics