android应用程序设计最新版,Android应用程序设计(修订版)

第3章Android用户界面设计3.1  用户界面组件包widget和View类

1.用户界面组件包widget

Android系统为开发人员提供了丰富多彩的用户界面组件,通过使用这些组件可以设计出炫丽的界面。大多数用户界面组件放置在android.widget包中。widget包中的常用组件如表3-1所示。表3-1  widget包中的常用组件 可视化组件说

明Button按钮 CalendarView日历视图 CheckBox复选框 EditText文本编辑框 ImageView显示图像或图标,并提供缩放、着色等各种图像处理方法 ListView列表框视图MapView地图视图RadioGroup单选按钮组 Spinner下拉列表TextView文本标签WebView网页浏览器视图 Toast消息提示

2.View类

View是用户界面组件的共同父类,几乎所有的用户界面组件都是继承View类实现的,如TextView、Button、EditText等。

对于View类及其子类的属性,可以在界面布局文件中设置,也可以通过成员方法在Java代码文件中动态设置。View类的常用属性和方法如表3-2所示。 表3-2  View类的常用属性和方法属

性对 应 方 法说

明android:backgroundsetBackgroundColor (int color)设置背景颜色android:idsetId(int)为组件设置可通过findViewById方法获取的标识符续表属

性对 应 方 法说

明android:alphasetAlpha(float)设置透明度,取值范围为0~1findViewById(int id)与id所对应的组件建立关联android:visibilitysetVisibility(int)设置组件的可见性android:clickablesetClickable(boolean)设置组件是否响应单击事件3.2  文本标签与按钮3.2.1  文本标签

文本标签(TextView)用于显示文本内容,是很常用的组件之一。其常用方法见表3-3。表3-3  文本标签(TextView)常用方法方

法功

能getText();获取文本标签的文本内容setText(CharSequence text);设置文本标签的文本内容setTextSize(float);设置文本标签的文本大小setTextColor(int color);设置文本标签的文本颜色

其常用的XML文件元素属性见表3-4。表3-4  文本标签(TextView)常用的XML文件元素属性元 素 属 性说

明android:id文本标签标识android:layout_width文本标签(TextView)的宽度,通常取值"fill_parent"(屏幕宽度)或以像素为单位pt的固定值android:layout_height文本标签(TextView)的高度,通常取值"wrap_content"(文本的高)或以像素px为单位的固定值android:text文本标签(TextView)的文本内容android:textSize文本标签(TextView)的文本大小

【例3-1】设计一个文本标签组件程序。

创建名为Ex03_01的新项目,包名为com.ex03_01。打开系统自动生成的项目框架,需要设计的文件为:* 界面布局文件activity_main.xml;* 控制文件MainActivity.java;* 资源文件strings.xml。

(1)设计界面布局文件activity_main.xml。在界面布局文件activity_main.xml中加入文本标签TextView,设置文本标签组件的id属性,如图3.1所示。

activity_main.xml代码如下:

1

2

6

11

图3.1  在界面布局中设置文本标签

(2)设计控制文件MainActivity.java。在控制文件MainActivity.java中添加文本标签组件,并将界面布局文件中所定义的文本标签元素属性值赋给文本标签,与界面布局文件中的文本标签建立关联。程序代码如下:

1  package com.ex03_01;

2  import android.app.Activity;

3  import android.os.Bundle;

4  import android.graphics.Color;

5  import android.widget.TextView;

6

7  public class MainActivity extends Activity

8   {

9

private TextView  txt;

10   public void onCreate(Bundle savedInstanceState)

11   {

12

super.onCreate(savedInstanceState);

13

setContentView(R.layout.activity_main);

14

txt=(TextView)findViewById(R.id.textView1);

15

txt.setTextColor(Color.WHITE);

16   }

17  }

(3)设计资源文件strings.xml。修改资源文件strings.xml中属性为"hello"的元素项的文本内容:

1  <?xml  version="1.0" encoding="utf-8"?>

2

3

\n

荷塘月色

4

\n 剪一段时光缓缓流淌,

5

\n 流进了月色中微微荡漾,

6

\n 弹一首小荷淡淡的香,

7

\n 美丽的琴音就落在我身旁.

8

9

Ex03_01

10

保存项目,配置应用程序的运行参数。程序的运行结果如图3.2所示。图3.2  文本标签3.2.2  按钮

按钮(Button)用于处理人机交互事件,在一般应用程序中经常会用到。由于按钮是文本标签(TextView)的子类,其继承关系如图3.3所示。按钮继承了文本标签的所有方法和属性。

按钮在程序设计中很常用的方式是实现OnClickListener监听接口,当单击按钮时,通过OnClickListener监听接口触发onClick()事件,实现用户需要的功能。OnClickListener接口有一个onClick()方法,在按钮实现OnClickListener接口时,一定要重写这个方法。

按钮调用OnClickListener接口对象的方法如下:

按钮对象.setOnClickListener(OnClickListener对象);

【例3-2】编写程序,实现单击按钮页面标题及文本标签的文字内容发生变化的功能,如图3.4所示。

单击按钮前

单击按钮后图3.4  单击按钮后,文本标签的文字内容发生变化

创建名为Ex03_02的新项目,包名为com.ex03_02。

(1)设计界面布局文件activity_main.xml。在界面布局文件中添加一个按钮,将其id设置为button1。其代码如下:

1  <?xml  version="1.0" encoding="utf-8"?>

2

6

11

16

(2)设计控制文件MainActivity.java。在控制文件MainActivity.java中设计一个实现按钮监听接口的内部类mClick,当单击按钮时,触发onClick()事件。其代码如下:

1  package com.ex03_02;

2  import android.app.Activity;

3  import android.os.Bundle;

4  import android.view.View;

5  import android.view.View.OnClickListener;

6  import android.widget.TextView;

7  import android.widget.Button;

8

9  public class MainActivity extends Activity

10  {

11

private TextView txt;

12

private Button btn;

13

public void onCreate(Bundle savedInstanceState)

14

{

15

super.onCreate(savedInstanceState);

16

setContentView(R.layout.activity_main);

17

txt=(TextView) findViewById(R.id.textView1);

18

btn=(Button)findViewById(R.id.button1);

19

btn.setOnClickListener(new mClick());

20

}

21

class mClick implements OnClickListener

22

{

23

public void onClick(View v)

24

{

25

MainActivity.this.setTitle("改变标题");

26

txt.setText(R.string.newStr);

27

}

28

}

29  }

(3)设计资源文件strings.xml,其代码如下:

1  <?xml  version="1.0" encoding="utf-8"?>

2

3

Hello World, 这是Ex03_02的界面!

4

Ex03_02

5

单击我!

6

改变了文本标签的内容

7

【例?3-3】编写程序,实现单击按钮改变文本标签的文字及背景颜色的功能,如图?3.5所示。显示全部>>隐藏全部>>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值