安卓学习(初)第三章(1)(《第一行代码》)

布局控件

一、TextView

1、<TextView>可以说是Android中最简单的一个控件,主要用于在界面上显示一段文本信息。

2、指定控件的宽度和高度

android:layout_width="match_parent"
android:layout_height="wrap_content"

Android中所有的控件都有这2种属性,可选三种值:match_parent,fill_parent,wrap_content。其中match_parent和fill_parent意义相同,都表示让当前控件大小和父布局的相同,只是官方更加推荐使用match_parent。wrap_content表示让控件大小能够刚好包含里面的内容就行。当然,我们也可以对控件自定义指定高和宽,但是这样会在不同手机屏幕的适配方面出现问题。

3、对TextView文本对齐方式

<TextView
    android:id="@+id/text_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"                    //这行代码就是指定下面文本的对齐方式
    android:text="This is TextView" />

对齐方式可选值有:top、bottom、left、right、center等,可以用“|”来指定多种方式。如center效果等同于center_vertical | center_horizontal。若不指定任何,则默认向右上角对齐。

4、对TextView中文字大小、颜色修改。 如:android:textSize="24sp"对字体大小指定, android:textColor="#00ff00"对字体颜色指定。

*5、对于其他的文本具体属性设置,可具体去查阅,主要写法正确。

二、Button

1、这是在布局添加一个按键的控件。

2、button命名为英文时系统默认名称所有字母为大写,可以以通过android:textAllCaps="false"来禁用这个默认。

3、在活动中注册监听器(见第二章内容)。

三、EditText

1、<EditText>是用于在布局添加一个可供用户添加文字的文本框。

2、在布局中基础调用:

<EditText
    android:id="@+id/edit_text"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    />                                  
  //布局控件的基础调用方式都基本相同,即写好控件所属标签先给控件定义一个id再指定宽度高度。而个性添加会不同。

3、个性添加:

如 android:hint="something here",表示添加提示性文本为“something here”。

如android:maxLines="2",表示文本内容字符最多容纳两行。

4、获取EditText的内容。第一步:editText=(EditText) findViewById(R.id.edit_tex);在oncreat方法中获取实例(布局控件在活动创建中获取实例的方法都一样,只是要改变方法中的参数即控件的地址)。第二步:String inputText=editText.getText().toString();把数据赋予inputText这个参数(editText的getText()方法获取文本内容再通过toString()方法转化成字符串)。

四、ImageView

1、ImageView是用于在界面展示图片的一个控件。

2、 在该布局控件标签中,写android:src="@drawable/img_1",这就添加了一张图片是在drawable目录下的img_1图片。所需要的图片我们要额外手动在该文件夹下复制添进去并命名(上面的代码说明图片被命名为img_1)。

3、同样,在活动中应用控件都要在oncreate方法中创建实例,方法上面讲过了。

4、在应用该控件时,imageView.setImageResource(R.drawable.img_2);表示切换图片。通过imageView的setImageResource方法讲图片换成别的,其中它执行需要的一个参数便是新图片的地址。

五、ProgressBar

1、ProgressBar控件用于在界面上显示一个进度条(表示我们正在加载一些数据)。

2、设置进度条加载100%后消失。所有控件都有这个可见属性,代码如:android:visibility=visible表示可见,不指定任何也是默认这样为可见的,此外还可以指定invisible(表示不可见但仍然要占屏幕位置)和gone(表示不仅不可见而且不占用屏幕任何空间)。我们还可以在活动中用setVisibility()方法设置控件的可见性,setVisibility()里的参数可以传入View.INVISIBLE、View.VISIBLE和View.GONE结果对应上面的三种情况。示例:

@Override
    public void onClick(View V) {
        switch(v.getId){
           case R.id.button:              //这个switch的case是指不同button执行不同触发活动,case后面跟button的地址
                if(progressBar.getVisibility()==View.GONE){    
                   progressBar.setVisibility(View.VISIBLE);
                }else{                    //表示如果进度条是不显示状况就变为显示,否则变为不显示
                    progressBar.setVisibility(View.GONE);
            }                             //必须先创建Progress的对象实例
        }
        break;
        default;
        break;
    }
}

3、进度条的样式在ProresssBar标签内引用style="?android:att/progressBarStyleHorizontal"可以改成水平进度条(默认情况下是圆形进度条)。然后用android:max="100",来设置进度条最大值(这设置了100为进度条最大值)。在活动中用动态进度条(用按键控制进度):

case R.id.button:                             //按键触发
    int progress=progressBar.getProgress();   //给参数赋值(获取进度数据)
    progress=progress+10;                     //改变参数值
    progress.setProgress(progress);           //把进度值改为参数值

*4、ProgressBar的样式还有其他,自己去琢磨!

六、AlertDialog

1、AlertDialog控件是在当前的界面弹出一个对话框(这个对话框在所有界面元素之上)。

2、示例:

@Override
public void onClick(View v) {
    switch (v.getId()){
        case R.id.button:
            AlertDialog.Builder dialog=new AlertDialog.Builder(MainActivity.this);  //创建一个AlertDialog实例
            dialog.setTitle("This is Dialog");                                      //对话框标题
            dialog.setMessage("something important");                               //对话框内容
            dialog.setCancelable(false);                                            //设置是否可取消属性
            dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {  //“OK”是设置按钮的显示名称
                @Override                                                          //对话框确认按钮点击事件
                public void onClick(DialogInterface dialog, int which) {
                }
            });
            dialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                @Override                                                          //对话框取消按钮点击事件
                public void onClick(DialogInterface dialog, int which) {
                }
            });
            dialog.show();
            break;
        default:
            break;
    }
}

七、ProgressDialog

1、ProgressDialog和AlertDialog有点类似。两者都是在界面最上显示对话框覆盖其他功能。不同的是ProgressDialog会在对话框内显示进度条。用法两者相似。

2示例:

@Override
public void onClick(View v) {
    switch (v.getId()){
        case R.id.button:
            ProgressDialog progressDialog=new ProgressDialog(MainActivity.this);
            progressDialog.setTitle("This is progressDialog"); 
            progressDialog.setMessage("Loading……");
            progressDialog.setCancelable(true);
            progressDialog.show();
            break;
          default:
            break;
 }
}

3、注意:setCancelable()中传入了false表示该对话框不能通过Back键取消掉。因此,如果传入了false,在ProgressDialog类型的对话框中还要在代码中做好数据加载完自动调用ProgressDialog的dismiss()方法关闭对话框的控制。

猜你喜欢

转载自blog.csdn.net/Entronk_star/article/details/81591028