Android UI设计 下拉菜单Spinner用法 动态添加删除Spinner菜单项

Spinner是一种下接菜单,类似HTML中的select标签,点击后弹出一个对话框,显示几个供选择的选项,手机屏幕大小有限,如果都用RadioGroup单选按钮,会占用很大的空间。今天的例子最终效果如下图:

Spinner需要绑定一个适配器ArrayAdapter,将菜单项放在适配器中,添加删除菜单项只需要调用适配器的add,remove方法即可。
布局XML; Continue reading ‘Android UI设计 下拉菜单Spinner用法 动态添加删除Spinner菜单项’ »

AlertDialog用法续:在对话框显示View

有时候AlertDialog上的按钮,文本并不能满足我们程序的要求,比如说我们要设计个登录窗口,如果用上文的方法是没法插入EditText的,也就无法实现。其实AlertDialog是可以显示View的,这样的话,几乎任何元素都可以在AlertDialog中显示。
先看效果图:

下面我们用代码一步一步实现。 Continue reading ‘AlertDialog用法续:在对话框显示View’ »

Android开发中插入新的Activity

一个Activity就相当于程序的一页,如果想要跳转到新的一页,就必须插入新的Activity。
插入新的Activity有三步骤:
1、建立新的Activity程序代码,这里以"new.class"为例
2、在AndroidManifest.xml中添加新Activity的描述
3、在原有Activity中调用启动新的Activity
下面一步一步来,首先建立新的Activity程序代码:
在Eclipse左侧的Package Explorer中的src下的package上点右键,New一个Class。有一点要注意,在弹出的对话框中,Superclass要选择Activity,Name必须大写(这是JAVA的规定,必须这样,否则无法建立) Continue reading ‘Android开发中插入新的Activity’ »

Android UI设计 文本输入框EditText用法(输入密码 隐藏显示输入的字符串)

这里介绍EditText的简单使用方法,EditText是一个文本输入框,我们在与用户交互的时候常常会用到,比如登录、注册等需要用户输入信息的地方。
先看看例子的效果图:

从上到下依次是一个TextView,用于显示输入的字符串;一个EditText,用于输入字符串;一个CheckBox,用于控制隐藏显示输入字符;最后是一个Button,用于控制TextView显示输入的字符串。下面是布局XML代码:


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
 <TextView android:id="@+id/tv"
 	android:layout_width="fill_parent"
	android:layout_height="wrap_content"
 />
<EditText android:id="@+id/et"
	android:layout_width="fill_parent"
	android:layout_height="wrap_content"	
/>

<CheckBox android:id="@+id/cb"	
	android:layout_width="fill_parent"
	android:layout_height="wrap_content"
	android:text="显示或隐藏密码"
/>
<Button android:id="@+id/bt"
	android:layout_width="fill_parent"
	android:layout_height="wrap_content"
	android:text="显示输入的字符串"
/>
</LinearLayout>

程序代码:


package com.pocketdigi.edit;

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.EditText;
import android.widget.TextView;
import android.widget.CompoundButton.OnCheckedChangeListener;

public class main extends Activity {
    /** Called when the activity is first created. */
	EditText et;
	CheckBox cb;
	TextView tv;
	Button bt;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        et=(EditText)findViewById(R.id.et);
        et.setTransformationMethod(PasswordTransformationMethod.getInstance());
        //默认隐藏状态,不显示输入的字符,如果默认不隐藏则删除上面这行
        cb=(CheckBox)findViewById(R.id.cb);
        tv=(TextView)findViewById(R.id.tv);
        bt=(Button)findViewById(R.id.bt);
        bt.setOnClickListener(show);
        cb.setOnCheckedChangeListener(listener);
    }
    OnCheckedChangeListener listener=new OnCheckedChangeListener(){

		@Override
		public void onCheckedChanged(CompoundButton buttonView,
				boolean isChecked) {
			// TODO Auto-generated method stub
			if(isChecked){
				et.setTransformationMethod(HideReturnsTransformationMethod.getInstance());
				//如果选中,显示密码
			}else{
				 et.setTransformationMethod(PasswordTransformationMethod.getInstance());
				 //否则隐藏密码
			}
			
		}
    	
    };
    OnClickListener show=new OnClickListener(){

		@Override
		public void onClick(View v) {
			// TODO Auto-generated method stub
			tv.setText(et.getText());
			//点Button后,TextView显示输入的字符串
		}
    	
    };
}