实验二、复杂用户界面(UI)设计
一、实验目的:进一步熟悉Android系统,设计比较复杂的用户交互界面; 二、实验内容:
a) 在FrameLayout的Activity中添加一个ImageButton,显示一幅图片; b) 在RelativeLayout的Activity中,在编辑框中输入一个网址,点击按钮1(“清除”)
则清除内容重新输入,点击按钮2(“登录”)则打开该网址网页;
c) 在TableLayout的Activity中,补充“身份”一栏的Spinner下拉列表内容,提供不
少于三个的列表选项;在输入用户名、密码和选择身份后,点击“确定”按钮会验证用户名和密码是否正确,如果正确,则显示一个带欢迎信息的Toast;如果不正确,则弹出一个警告对话框,提示输入错误;点击“取消”按钮则会清除所有编辑框输入的内容;
d) 在AbsoluteLayout的Acitivity中,实现教材提供的MenuDemo功能(功能完全一
样,把MenuDemo代码移植过来);
三、实验步骤:
a) 打开Eclipse,导入教材提供的LayoutDemo例程; b) 分别在FrameLayout.java,RelativeLayout.java,TableLayout.java,AbsoluteLayout.java
这几个文件里修改代码实现“实验内容”的要求;res\\layout目录下相应的布局文件layout_frame.xml,layout_relative.xml,layout_table,layout_absolute也要对控件属性作出必要修改,或者添加、删除某些控件; c) 修改好一个布局,则运行调试一个布局是否实现了要求的功能,实现正确后再进行
下一个布局的修改。
四、实验提示及注意事项
a) ImageButton属性(.xml文件直接设置显示图片pic1) 注意:图片大小在几百K以内
如果是在程序中设置显示图片,则在Java文件中添加以下代码: ImageButton img; img = (ImageButton)findViewById(R.id.mageButton); img.setImageResource(R.id.pic1);
b) RelativeLayout修改参考代码: oc1 = new OnClickListener(){ @Override public void onClick(View v) { System.out.println(\清除按钮被单击了!\ et_text.setText(\ //清空编辑框
} }; oc2 = new OnClickListener(){ @Override public void onClick(View v) { String webAddr = et_text.getText().toString(); //从编辑框获取网址 System.out.println(\获取到的网址是: \ Uri uri = Uri.parse(webAddr); //设置网址 Intent intent = new Intent(Intent.ACTION_VIEW, uri); //利用浏览器打开 RelativeLayout.this.startActivity(intent); //启动浏览器 } }; bt1.setOnClickListener(oc1); //注意:不能把绑定代码放到监听器代码前面 bt2.setOnClickListener(oc2); //否则绑定的是空监听器,而不是重写后的监听器
c) TableLayout中Spinner的操作请参考教材SpinnerDemo例程,对话框添加关键代码: //下面一行代码放在在Acitivity的onCreate()中,不要放到onCreate()前面
final Builder alertDialogBuilder = new AlertDialog.Builder(this);
//以下代码放在相应的Button的OnClick()函数中(参考代码,具体按实际修改)
alertDialogBuilder.setMessage(\获取到的密码是空 ,请重新输入\对话框字符串 alertDialogBuilder.setPositiveButton(\确定\
new DialogInterface.OnClickListener() {
@Override public void onClick(DialogInterface dialog, int which) { et_pword.setFocusable(true); } }); //对话框上“确定”按钮onClick响应代码 alertDialogBuilder.create().show(); //显示对话框
d) AbsoluteLayout的修改,需要(1)把MenuDemo例程下的contextmenu.xml、
optionmenu.xml、submenu.xml复制到本工程的res\\layout中;(2)把MenuDemo例程src\\包名下的ContextMenuDemo.java、OptionMenuDemo.java、SubMenuDemo.java复制到本工程的src\\包名目录下;(3)修改AbsoluteLayout.java,实现MenuDemo.java的功能,相应地要修改layout_absolute.xml控件布局。
在本工程的主配置文件AndroidManifest.xml中注册添加的布局(添加以下代码):
android:label=\
android:label=\
android:label=\
android:theme=\
e) 注意:前面所有Layout中,最好把每一个控件都修改一个属于自己的id名称,比
如Button按钮,不要用类似button1,button2。。。等容易重复这样的命名,而用类似submenuButton等独一无二的命名。其他控件类似,避免控件名称重复引起错误。
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库实验二 复杂UI设计在线全文阅读。
相关推荐: