android中常见空间的使用方法

1.TextView

TextView主要用于在界面上显示一段文本信息,如下面代码所示:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >    <TextView        android:id="@+id/text_view"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:gravity="center"        android:textSize="24sp"        android:textColor="#00ff00"        android:text="This is TextView" /></LinearLayout>

其中,在TextView标签中:

android:id 给当前控件定义了一个唯一标识符;

android:layout_width 指定了控件的宽度,其中match_parent表示当前控件的大小和父布局的大小一样;

android:layout_height 指定了控件的高度,wrap_content表示让当前控件的大小能够刚好包含里面的内容;

android:text 指定了TextView中显示的内容。

android:gravity 来指定文字的对齐方式,可以用“|”来同时指定多个值;

android:textSize 指定TextView中文字的大小;

android:textColor 指定TextView中文字的颜色。

除了上述这些,TextView中还有很多其他的属性。

2.Button

Button是程序用于和用户进行交互的一个重要控件。例如下面的代码定义了一个Button按钮:

    <Button         android:id="@+id/button"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:text="Button" />

加入Button按钮后,就可以在MainActivity中为Button的点击事件注册一个监听器,代码如下所示:

public class MainActivity extends Activity {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Button button = (Button) findViewById(R.id.button);        button.setOnClickListener(new OnClickListener() {                        @Override            public void onClick(View v) {                        }          });              }            }

注册监听器后,就会执行监听器中的onClick()方法,只需要在这个方法中加入待处理的逻辑就行了。

上面代码给按钮加入监听器中方法是使用匿名类,也可以使用实现接口的方式来注册,代码如下所示:

public class MainActivity extends Activity implements OnClickListener {    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        Button button = (Button) findViewById(R.id.button);       button.setOnclickListener(this);    }            public void onClick(View v) {                 switch (v.getId()) {                 case R.id.button:                    //在此处添加逻辑                    break;                 default:                    break;                 }            }}

上述的代码也可以实现对按钮点击事件的监听。

3.EditText

EditText是程序用于和用户进行交互的一个重要控件,它允许用户在控件里输入和编辑内容,并可以在程序中对这些内容进行处理。

在界面中放置一个EditText控件的代码如下所示:

<EditText         android:id="@+id/edit_text"        android:layout_width="match_parent"        android:layout_height="wrap_content"        android:hint="Type something here"        android:maxLines="2" />

Android控件的使用基本上用法类似,给控件定义一个id,在指定控件的宽度和高度,然后在加入控件的其它属性就可以了。如:

android:hint 属性是在输入框中显示一些提示性的文字,然后用户输入内容后,这些提示文字就会消失。

android:maxLines 属性是指定EditText的最大行数为两行,这样当输入的内容超过两行时,文本就会向上滚动。

可以结合EditText和Button来完成一些功能,比如通过点击按钮来获取EditText中输入的内容,代码如下所示:

public class MainActivity extends Activity {    private EditText editText;        @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        editText = (EditText) findViewById(R.id.edit_text);                button.setOnClickListener(new OnClickListener() {                        @Override            public void onClick(View v) {                String inputText = editText.getText().toString();                Toast.makeText(MainActivity.this, inputText, Toast.LENGTH_SHORT).show();                        }        });   }}

上面的代码中首先通过findViewById()方法得到EditText的实例,然后在按钮的点击事件里调用EditText的getText()方法

获取到输入的内容,再调用toString()方法转换成字符串,最后使用Toast方法将内容显示出来。

4.ImageView

ImageView是用于在界面上展示图片的一个控件。如下面的代码可以展示drawable文件夹下的ic_launcher.png图片:

 <ImageView         android:id="@+id/image_view"        android:layout_width="wrap_content"        android:layout_height="wrap_content"        android:src="@drawable/ic_launcher" />

在程序中还可以通过代码动态地更改ImageView中的图片,代码如下所示:

public class MainActivity extends Activity {        private ImageView imageView;        @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        imageView = (ImageView) findViewById(R.id.image_view);        button.setOnClickListener(new OnClickListener() {                        @Override            public void onClick(View v) {                //在Button监听器中,调用ImageView的setImageResource()方法修改显示的图片。            imageView.setImageResource(R.drawable.icon);                        }       });   }}

上面的代码中,在按钮的点击事件里通过调用ImageView的setImageResource()方法将显示的图片该成icon。

5.ProgressBar

ProgressBar用于在界面上显示一个进度条,表示我们程序正在加载一些数据,ProgressBar的用法如下面的代码所示:

<ProgressBar        android:id="@+id/progress_bar"         android:layout_width="match_parent"        android:layout_height="wrap_content"        style="?android:attr/progressBarStyleHorizontal"        android:max="100" />"

上面的代码可以在界面上显示进度条,其中style指定了进度条是水平样式的,如果不加style默认是圆形的。

当数据加载完成后,如何使进度条消失呢?这就要用到android控件的可见属性,所有的android控件都有这个属性。

可以通过android:visibility进行指定,可选三种值:

visible表示控件可见性,这个值是默认值;

invisible表示控件不可见性,但它仍然占据着原来的位置和大小;

gone则表示控件不可见性,而且不再占用任何屏幕。

空间的可见性还可以在代码中设置,使用setVisibility()方法,可以传入View.VISIBLE、ViewINVISIBLE和View.GONE。

下面的代码用来设置进度条的可见性:

public class MainActivity extends Activity {    private ProgressBar progressBar;        @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);                progressBar = (ProgressBar) findViewById(R.id.progress_bar);        button.setOnClickListener(new OnClickListener() {                        @Override            public void onClick(View v) {                //设置进度条的可见性                if (progressBar.getVisibility() == View.GONE){                    progressBar.setVisibility(View.VISIBLE);                }else {                    progressBar.setVisibility(View.GONE);                }                                int progress = progressBar.getProgress();                progress = progress + 10;                progressBar.setProgress(progress);                         }               });        }}                

上面的代码中通过getVisibility()方法来判断ProgressBar是否可见,如果可见就将ProgressBar隐藏掉;

如果不可见就将ProgressBar显示出来。

6.AlertDialog

AlertDialog可以在当前的界面弹出一个对话框,这个对话框是置顶于所有界面元素之上的,能够

屏蔽掉其他控件的交互能力,因此AlertDialog一般用于提示一些非常重要的内容或者警告信息。

AlertDialog用法如下面的代码所示:

/**                 * AlertDialog可以在当前的界面弹出一个对话框,这个对话框是置顶于所有                 * 界面元素之上的,能够屏蔽掉其他控件的交互能力。    */                             //首先通过AlertDialog.Builder创建出一个AlertDialog的实例。                AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);                //设置标题                dialog.setTitle("This is Dialog");                //设置内容                dialog.setMessage("Something important");                //设置是否可以取消                dialog.setCancelable(false);                //调用setPositiveButton()方法为对话框设置确定按钮的点击事件                dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {                                        @Override                    public void onClick(DialogInterface dialog, int which) {                                                                    }                });                //调用setNegativeButton()方法为对话框设置取消按钮的点击事件                dialog.setNegativeButton("Cancle", new DialogInterface.OnClickListener() {                                        @Override                    public void onClick(DialogInterface dialog, int which) {                                                                    }                });                //调用show()方法将对话框显示出来                dialog.show();                

7.ProgressDialog

ProgressDialog和AlertDialog类似,都可以在界面上弹出一个对话框,屏蔽掉其他控件的交互能力;

不同的是,ProgressDialog会在对话框中显示一个进度条,一般表示比较耗时,让用户耐心等待。

ProgressDialog的用法如下面的代码所示:

                /**                 * ProgressDialog和AlertDialog类似,都是在界面中显示一个对话框。                 * 不同的是,ProgressDialog会在对话框中显示一个进度条,一般表示:                 * 当前的操作比较耗时,让用户耐心等待。                 */                //首先构建出一个ProgressDialog对象。                ProgressDialog progressDialog = new ProgressDialog(MainActivity.this);                //设置对话框的标题                progressDialog.setTitle("This is ProgressDialog");                //设置内容消息                progressDialog.setMessage("Loading...");                //设置可否取消,如果在setCancelable()中传入了false,表示ProgressDialog不能通过Back键取消,                //当数据加载完成后必须要调用ProgressDialog的dismiss()方法来关闭对话框。                progressDialog.setCancelable(true);                //调用show()方法将对话框显示出来                progressDialog.show();

注意:上面的代码中在setCancelable()中传入了true,表示ProgressDialog可以通过Back键取消的;

如果传入了false,表示ProgressDialog不能通过Back取消,当数据加载完成后必须要调用

ProgressDialog的dismiss()方法来关闭对话框,否则ProgressDialog将会一直存在。

更多相关文章

  1. Android(安卓)实例及组件
  2. PopupWindow 动画显示与消失(逐惭缩放、逐惭透明)
  3. 圆形button
  4. Android(安卓)TextView跑马灯效果代码
  5. Android(安卓)3D与JNI结合的小例子
  6. Android(安卓)豆知识
  7. Android中实现控件圆角边框
  8. Android自定义对话框(Dialog)位置,大小
  9. android中的ListView与ScrollView冲突保留ScrollV

随机推荐

  1. Android(安卓)Power Management
  2. Android自定义对话框的使用
  3. Android之自定义Adapter的ListView
  4. 页面跳转采用滑动效果
  5. Android版本对照
  6. android文件操作的实例
  7. android 判断横竖屏的方法
  8. Android:Service
  9. Android中的Message类以及Java对象池的实
  10. Android(安卓)继承SQLiteOpenHelper自定