乐读文学

Android从入门到精通

乐读文学 > 科普学习 > Android从入门到精通

第36页

书籍名:《Android从入门到精通》    作者:明日科技


image1  =  (ImageView)  findViewById(R.id.imageView1);  //获取ImageView1组件



image2  =  (ImageView)  findViewById(R.id.imageView2);  //获取ImageView2组件



image3  =  (ImageView)  findViewById(R.id.imageView3);  //获取ImageView3组件



result  =  (TextView)  findViewById(R.id.textView1);  //获取TextView组件



reset();  //将鞋子的顺序打乱

(5)为3个显示鞋子的ImageView组件添加单击事件监听器,用于将鞋子打开,并显示猜猜看的结果,关键代码如下:

//为第1只鞋子添加单击事件监听器



image1.setOnClickListener(new  OnClickListener()  {



@Override



public  void  onClick(View  v)  {



isRight(v,  0);  //判断结果



}



});



//为第2只鞋子添加单击事件监听器



image2.setOnClickListener(new  OnClickListener()  {



@Override



public  void  onClick(View  v)  {



isRight(v,  1);  //判断结果



}



});



//为第3只鞋子添加单击事件监听器



image3.setOnClickListener(new  OnClickListener()  {



@Override



public  void  onClick(View  v)  {



isRight(v,  2);  //判断结果



}



});

(6)编写isRight()方法,用于显示打开的鞋子,并显示判断结果,具体代码如下:

/**



*  判断猜出的结果



*



*  @param  v



*  @param  index



*/



private  void  isRight(View  v,  int  index)  {



//使用随机数组中图片资源ID设置每个ImageView



image1.setImageDrawable(getResources().getDrawable(imageIds[0]));



image2.setImageDrawable(getResources().getDrawable(imageIds[1]));



image3.setImageDrawable(getResources().getDrawable(imageIds[2]));



//为每个ImageView设置半透明效果



image1.setAlpha(100);



image2.setAlpha(100);



image3.setAlpha(100);



ImageView  v1  =  (ImageView)  v;  //获取被单击的图像视图



v1.setAlpha(255);  //设置图像视图的透明度



if  (imageIds[index]  ==  R.drawable.shoe_ok)  {  //判断是否猜对



result.setText("恭喜您,猜对了,祝你幸福!");



}  else  {



result.setText("很抱歉,猜错了,要不要再试一次?");



}



}

(7)获取“再玩一次”按钮,并为该按钮添加单击事件监听器,在其单击事件中,首先将标题恢复为默认值,然后设置3个ImageView的透明度为完全不透明,最后设置这3个ImageView的图像内容为默认显示图片,具体代码如下:

Button  button  =  (Button)  findViewById(R.id.button1);  //获取“再玩一次”按钮



//为“再玩一次”按钮添加事件监听器



button.setOnClickListener(new  OnClickListener()  {



@Override



public  void  onClick(View  v)  {



reset();



result.setText(R.string.title);  //将标题恢复为默认值



image1.setAlpha(255);



image2.setAlpha(255);



image3.setAlpha(255);



image1.setImageDrawable(getResources().getDrawable(  R.drawable.shoe_default));



image2.setImageDrawable(getResources().getDrawable(R.drawable.shoe_default));



image3.setImageDrawable(getResources().getDrawable(R.drawable.shoe_default));



}



});

运行本实例,将显示如图3.33所示的运行结果,单击其中的任意一只鞋子,将打开鞋子,显示里面是否有鸡蛋,并且将没有被单击的鞋子设置为半透明显示,被单击的鞋子正常显示,同时根据单击的鞋子里是否有鸡蛋显示对应的结果。例如,单击中间的鞋子,如果鸡蛋在这只鞋子里,将显示如图3.34所示的运行结果;否则,将显示“很抱歉,猜错了,要不要再试一次?”的提示文字。





图3.33 默认的运行结果  图3.34 单击中间鞋子显示的运行结果





3.5 小 结

本章介绍了进行用户界面设计的基础内容,主要包括Android中控制UI界面的4种方法、常用的4种布局管理器和一些常用的基本组件。首先介绍的是控制UI界面的4种方法,这4种方法各有优缺点,应根据实际需要选择最为合适的方法,然后介绍线性布局、表格布局、帧布局和相对布局4种布局方式,需要读者重点掌握,在实际编程中经常使用,接下来又介绍了常用的基本组件,最后结合前面介绍的内容给出了两个经典范例,用于巩固所学的知识。





3.6 实践与练习

1.  编写Android程序,实现通过ImageView显示带边框的图片。(答案位置:光盘\TM\sl\3\3.27)

2.  编写Android程序,实现选中复选框后,“开始”按钮才可用,否则为不可用状态。(答案位置:光盘\TM\sl\3\3.28)

3.  编写Android程序,实现图标在上、文字在下的ListView。(答案位置:光盘\TM\sl\3\3.29)





第4章 高级用户界面设计

(  教学录像:2小时46分钟)

第3章介绍了用户界面设计中如何控制UI界面,以及布局管理器和基本组件的应用。经过前面的学习,已经可以设计出一些常用的Android界面,本章将继续学习Android开发中的用户界面设计,主要涉及一些常用的高级组件、消息提示框和对话框等,通过这些组件,可以开发出更加优秀的用户界面。