Android开发之PopUpWindow的应用(一)

 PopUpWindow与Dialog对话框类似!也是一种提醒用户的小窗口!下面我们就来看个简单的应用。

运行效果如下:

  

当我们单击,登陆按钮时,就会出现下面登陆界面的小窗口,提示我们输入登陆信息!

1、创建一个Android项目,命名为PopUpWindow。

2、修改布局文件main.xml,并新建一个布局文件popupwindow.xml。两文件的代码如下:

main.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/text"
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:text="这是一个popupwindow示例!"
    />
<Button
    android:id="@+id/myButton"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:text="登录"/>
</LinearLayout>

popupwindow.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"
    >
<LinearLayout
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    >
    <TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="登录用户:"/>
    <EditText
       android:id="@+id/name"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:hint="请输入用户名"/>
</LinearLayout>
<LinearLayout
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    >
    <TextView
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="登录密码:"/>
    <EditText
       android:id="@+id/pwd"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:hint="请输入密码"/>
</LinearLayout>
<LinearLayout
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    >
    <Button
       android:id="@+id/ok"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="确定"/>
    <Button
       android:id="@+id/cancel"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:text="取消"/>
</LinearLayout>
</LinearLayout>

3、修改程序代码。

public class MyActivity extends Activity implements OnClickListener{
	Button myButton;
	TextView myText;
	View view;
	PopupWindow myPopupWindow;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        myButton=(Button)findViewById(R.id.myButton);
        myText=(TextView)findViewById(R.id.text);
        myButton.setOnClickListener(this);
    }
    public void popAwindow(View parent){
    	LayoutInflater inflater=(LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
    	view=inflater.inflate(R.layout.popupwindow, null);
    	view.setBackgroundColor(Color.WHITE);
    	myPopupWindow=new PopupWindow(view, 200, 150);
    	Button ok=(Button)view.findViewById(R.id.ok);
    	ok.setOnClickListener(this);
    	Button cancel=(Button)view.findViewById(R.id.cancel);
    	cancel.setOnClickListener(this);
    	//这个不能省略,否则弹不出对话框
    	myPopupWindow.showAsDropDown(parent);
    }
	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		switch(v.getId()){
		case R.id.myButton:
			popAwindow(v);
			break;
		case R.id.ok:
			myText.setText("登录成功!");
			break;
		case R.id.cancel:
			myPopupWindow.dismiss();
			break;
		}
	}
}

经过以上三步,项目就开发完毕!很简单吧!这里只是带你初识PopUpWindow,以后还会具体讲解!


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值