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,以后还会具体讲解!