android学习五(android中基本控件的使用)

前面已经学了activity的一些使用,那么下面我们进行android中基本的控件的学习和使用。

1.android中的TextView控件

新建一个项目,项目名为UITest,才有默认的设置,修改布局文件的内容,如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    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:text="this is textview" />

</LinearLayout>

运行程序如下:

下面我们来说说每个参数的意义:

android:id="@+id/text_view":给当前的控件定义了唯一标志符

android:layout_width:指定控件的宽度

android:layout_height:指定的控件的高度

android中所有的控件都具有android:layout_width,android:layout_height这两个属性,可选的值有match_parent,fill_parent,wrap_content,其中match_parent和fill_parent的意义一样,现在官方推荐用match_parent,表示当前控件和父布局的大小一样,也就是有父布局来决定当前控件的大小。wrap_content表示挡墙控件的大小能够刚好包含住里面的内容,也就是控件内容决定当前控件的大小。所以上面的布局中让TextView的宽度和父布局一样,也就是手机的宽度,让TextView的高度足够包含住里面的内容就行。

android:text:指定TextView显示的内容,TextView默认的文字对齐方式是居左上角对齐。

下面我们修改下文字的对齐方式,给TextView添加一个android:gravity="center"属性,在运行程序

使用android:gravity来指定文字的对齐方式,可选的值有top,bottom,left,right,center等或者用“|”来同时指定多个值,这里我们指定的“center”,效果等效于center_vertical|center_horizontal,表示文字在垂直和水平方向都居中对齐。

下面我们在修改下文字的大小和颜色,并修改TextView的背景颜色

<TextView
        android:id="@+id/text_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="this is textview"
        android:gravity="center"
        android:textSize="24sp"
        android:textColor="#00ff00"
        android:background="#ff0000"/>

效果图如上

android:textSize="24sp":指定文字的大小

android:textColor="#00ff00":指定文字的颜色,颜色为绿色

android:background="#ff0000":指定TextView的背景色为红色

关于TextView的基本属性就介绍到这吧,android很多的控件属性都相似的,举一反三。下面我们来学习Button吧。

2.android中的Button

改写布局文件代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    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:text="this is textview"
        android:gravity="center"
        android:textSize="24sp"
        android:textColor="#00ff00"
        android:background="#ff0000"/>

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

</LinearLayout>

运行程序如下:

我们在MainActivity中为按钮添加事件监听

package com.wj.uitest;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {

	private Button button1;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		button1=(Button) findViewById(R.id.button1);
		button1.setOnClickListener(new OnClickListener(){

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				//添加事件处理逻辑
			}

		});

	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}

或者通过实现接口来给按钮添加监听代码如下:

<pre name="code" class="java">package com.wj.uitest;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity  implements OnClickListener{

	private Button button1;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		button1=(Button) findViewById(R.id.button1);
		button1.setOnClickListener(this);
		/*button1.setOnClickListener(new OnClickListener(){

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				//添加事件处理逻辑
			}

		});*/

	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		switch(v.getId()){
		case R.id.button1:
			//在此处添加事件处理逻辑
			break;
		default:
			break;
		}
	}

}

上面2中方法都可以实现对android的事件监听,具体使用什么,看你自己的爱好

3.Android中的EditText

修改布局文件添加EditText控件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    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:text="this is textview"
        android:gravity="center"
        android:textSize="24sp"
        android:textColor="#00ff00"
        android:background="#ff0000"/>

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

    <EditText
        android:id="@+id/edit_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

</LinearLayout>

运行程序

下面我们在给EditText添加提示文字,修改布局文件

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

运行程序:

android:hint:属性是给EditText提供输入提示的文字

下面我们使用一个android:maxLines属性,使用android:maxLines指定最多显示的行数,当超过了指定的行数,文本就会向上滚动。修改下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"/>

运行程序:

下面我们演示通过点击按钮获取输入的EditText的内容,

修改MainActivity里面的代码,代码如下:

package com.wj.uitest;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity  implements OnClickListener{

	private Button button1;
	private EditText editText;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		button1=(Button) findViewById(R.id.button1);
		button1.setOnClickListener(this);
		editText=(EditText) findViewById(R.id.edit_text);
		/*button1.setOnClickListener(new OnClickListener(){

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				//添加事件处理逻辑
			}

		});*/

	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		switch(v.getId()){
		case R.id.button1:
			//在此处添加事件处理逻辑
			String text=editText.getText().toString();
			Toast.makeText(MainActivity.this, text,
					Toast.LENGTH_SHORT).show();
			break;
		default:
			break;
		}
	}

}

在文本框输入,内容后,通过点击按钮,来显示输入的内容,运行程序操作结果如下:

代码中editText.getText().toString()是通过点击按钮来获取输入文本框的内容,并转换成字符串。最后用Toast把输入的字符串显示出来。

4.Android的ImageView

android之中用来显示一张图片的是ImageView 控件,下面我就借助ImageView 来显示一张图片,首先我在我的drawable文件夹下面添加了2张图片。接着修改布局文件,添加图片的控件。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    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:text="this is textview"
        android:gravity="center"
        android:textSize="24sp"
        android:textColor="#00ff00"
        android:background="#ff0000"/>

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

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

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

</LinearLayout>

运行程序:

可见上面已经显示了一张图片了,由于不知道图片的大小,所以把ImageView控件设置成随图片的大小自动的变化。

android:src="@drawable/note1",这一句是给ImageView控件指定一张图片。

下面我在修改下代码,通过点击按钮,改变下图片,修改代码如下:

package com.wj.uitest;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.Toast;

public class MainActivity extends Activity  implements OnClickListener{

	private Button button1;
	private EditText editText;
	private ImageView imageView;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		button1=(Button) findViewById(R.id.button1);
		button1.setOnClickListener(this);
		editText=(EditText) findViewById(R.id.edit_text);
		imageView=(ImageView) findViewById(R.id.image_view);
		/*button1.setOnClickListener(new OnClickListener(){

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				//添加事件处理逻辑
			}

		});*/

	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		switch(v.getId()){
		case R.id.button1:
			//在此处添加事件处理逻辑
			/*String text=editText.getText().toString();
			Toast.makeText(MainActivity.this, text,
					Toast.LENGTH_SHORT).show();*/
			//通过ImageView的setImageResource函数改变显示的图片
			imageView.setImageResource(R.drawable.note2);
			break;
		default:
			break;
		}
	}

}

没有点击按钮前,图片显示和上面一张图片一样,当点击按钮以后,显示如下:

5.Android中的ProgressBar

ProgressBar用于在界面上显示一个进步条,表示我们的程序正在加载一些数据。下面是添加ProgressBar控件的代码,我把ProgressBar的背景色指定为蓝色了。修改布局代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    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:text="this is textview"
        android:gravity="center"
        android:textSize="24sp"
        android:textColor="#00ff00"
        android:background="#ff0000"/>

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

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

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

    <ProgressBar
        android:id="@+id/progress_bar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#0000ff"
        />

</LinearLayout>

运行程序结果如下:

我们看到屏幕中有一个圆形的进度条正在旋转,如上。

由于数据总有加载完的时候,所以进度条不能一直显示,这时候我们就要用到Android控件的可见属性了,可选的值有visible,invisible和gone。visible表示控件是可见的,这个值是默认的值,不指定android:visibility时,控件是可见的。invisible表示控件不可见,但是它仍然占据着原来的位置和大小,可以理解为控件变成了透明状态。gone则表示控件不仅不可见,而且不在占用任何屏幕空间。我们还可以通过代码来设置控件的可见性,使用的是setVisibility方法,可以传入的View.VISIBLE,View.INVISIBLE,View.GONE。

下面我通过点击下按钮让进度条消失,在点击下按钮,则显示进度条。修改代码如下:

package com.wj.uitest;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.Toast;

public class MainActivity extends Activity  implements OnClickListener{

	private Button button1;
	private EditText editText;
	private ImageView imageView;
	private ProgressBar progressBar;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		button1=(Button) findViewById(R.id.button1);
		button1.setOnClickListener(this);
		editText=(EditText) findViewById(R.id.edit_text);
		imageView=(ImageView) findViewById(R.id.image_view);
		progressBar=(ProgressBar) findViewById(R.id.progress_bar);
		/*button1.setOnClickListener(new OnClickListener(){

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				//添加事件处理逻辑
			}

		});*/

	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		switch(v.getId()){
		case R.id.button1:
			//在此处添加事件处理逻辑
			/*String text=editText.getText().toString();
			Toast.makeText(MainActivity.this, text,
					Toast.LENGTH_SHORT).show();*/

			//通过ImageView的setImageResource函数改变显示的图片
			/*imageView.setImageResource(R.drawable.note2);*/

			//控制进度条的显示和消失
			if(progressBar.getVisibility()==View.GONE){
				//getVisibility()方法获取进度条的显示状态
				progressBar.setVisibility(View.VISIBLE);
			}else{
				progressBar.setVisibility(View.GONE);
			}

			break;
		default:
			break;
		}
	}

}

运行程序,如下:

点击按钮后,程序显示如下:

另外进度条有不同的显示样式,刚刚显示的是圆形的进度条,通过style属性可以将它变成水平的进度条,修改布局文件如下:

<!-- android:background="#0000ff" -->
    <ProgressBar
        android:id="@+id/progress_bar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        style="?android:attr/progressBarStyleHorizontal"
        android:max="100"
        />

运行程序如下:

下面我添加代码,使通过点击按钮,进度条进行增长,修改代码如下:

package com.wj.uitest;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.Toast;

public class MainActivity extends Activity  implements OnClickListener{

	private Button button1;
	private EditText editText;
	private ImageView imageView;
	private ProgressBar progressBar;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		button1=(Button) findViewById(R.id.button1);
		button1.setOnClickListener(this);
		editText=(EditText) findViewById(R.id.edit_text);
		imageView=(ImageView) findViewById(R.id.image_view);
		progressBar=(ProgressBar) findViewById(R.id.progress_bar);
		/*button1.setOnClickListener(new OnClickListener(){

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				//添加事件处理逻辑
			}

		});*/

	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		switch(v.getId()){
		case R.id.button1:
			//在此处添加事件处理逻辑
			/*String text=editText.getText().toString();
			Toast.makeText(MainActivity.this, text,
					Toast.LENGTH_SHORT).show();*/

			//通过ImageView的setImageResource函数改变显示的图片
			/*imageView.setImageResource(R.drawable.note2);*/

			//控制进度条的显示和消失
			/*if(progressBar.getVisibility()==View.GONE){
				//getVisibility()方法获取进度条的显示状态
				progressBar.setVisibility(View.VISIBLE);
			}else{
				progressBar.setVisibility(View.GONE);
			}*/

			//点击按钮,增加进度条的进度
			int progress=progressBar.getProgress();
			progress=progress+10;
			progressBar.setProgress(progress);

			break;
		default:
			break;
		}
	}

}

运行程序,点击按钮,显示如下:

观看图,可以看到进度条有进度显示了,显示的是蓝色部分。每点击一下按钮进度增加值为10。ProgressBar还有几种样式可以自己试试。

6.Android的AlertDialog

android的AlertDialog的使用,可以直接看代码,比较的简单,我就直接贴代码了

package com.wj.uitest;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.Toast;

public class MainActivity extends Activity  implements OnClickListener{

	private Button button1;
	private EditText editText;
	private ImageView imageView;
	private ProgressBar progressBar;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		button1=(Button) findViewById(R.id.button1);
		button1.setOnClickListener(this);
		editText=(EditText) findViewById(R.id.edit_text);
		imageView=(ImageView) findViewById(R.id.image_view);
		progressBar=(ProgressBar) findViewById(R.id.progress_bar);
		/*button1.setOnClickListener(new OnClickListener(){

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				//添加事件处理逻辑
			}

		});*/

	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		switch(v.getId()){
		case R.id.button1:
			//在此处添加事件处理逻辑
			/*String text=editText.getText().toString();
			Toast.makeText(MainActivity.this, text,
					Toast.LENGTH_SHORT).show();*/

			//通过ImageView的setImageResource函数改变显示的图片
			/*imageView.setImageResource(R.drawable.note2);*/

			//控制进度条的显示和消失
			/*if(progressBar.getVisibility()==View.GONE){
				//getVisibility()方法获取进度条的显示状态
				progressBar.setVisibility(View.VISIBLE);
			}else{
				progressBar.setVisibility(View.GONE);
			}*/

			//点击按钮,增加进度条的进度
			/*int progress=progressBar.getProgress();//获取到当前进度条的进度
			progress=progress+10;
			progressBar.setProgress(progress);*/

			/*
			 * AlertDialog可以在当前的界面弹出一个对话框,这个对话框是置与所有界面元素之上的,能够
			 * 屏蔽掉其他控件的交互能力,因此一般AlertDialog都用于提示一些非常重要的内容或者警告信息
			 * */
			AlertDialog.Builder dialog=new AlertDialog.Builder(MainActivity.this);
			dialog.setTitle("this is dialog");//对话框标题
			dialog.setMessage("Something import.");//设置提示信息
			dialog.setCancelable(false);
			//为对话框设置确定按钮的点击事件
			dialog.setPositiveButton("OK", new DialogInterface.OnClickListener(){

				@Override
				public void onClick(DialogInterface dialog, int which) {
					// TODO Auto-generated method stub
					//进行逻辑处理
				}
			});
			//为对话框设置取消按钮的点击事件
			dialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener(){

				@Override
				public void onClick(DialogInterface dialog, int which) {
					// TODO Auto-generated method stub
					//进行逻辑处理
				}

			});
			//显示对话框
			dialog.show();
			break;
		default:
			break;
		}
	}

}

运行程序,点击按钮后,结果如下所示:

7.Android中的ProgressDialog

ProgressDialog和上面的对话框用法差不多,所以也不多讲了,具体的在代码里面写了注释了,可以查看注释。修改代码如下:

package com.wj.uitest;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.ProgressBar;
import android.widget.Toast;

public class MainActivity extends Activity  implements OnClickListener{

	private Button button1;
	private EditText editText;
	private ImageView imageView;
	private ProgressBar progressBar;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		button1=(Button) findViewById(R.id.button1);
		button1.setOnClickListener(this);
		editText=(EditText) findViewById(R.id.edit_text);
		imageView=(ImageView) findViewById(R.id.image_view);
		progressBar=(ProgressBar) findViewById(R.id.progress_bar);
		/*button1.setOnClickListener(new OnClickListener(){

			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				//添加事件处理逻辑
			}

		});*/

	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

	@Override
	public void onClick(View v) {
		// TODO Auto-generated method stub
		switch(v.getId()){
		case R.id.button1:
			//在此处添加事件处理逻辑
			/*String text=editText.getText().toString();
			Toast.makeText(MainActivity.this, text,
					Toast.LENGTH_SHORT).show();*/

			//通过ImageView的setImageResource函数改变显示的图片
			/*imageView.setImageResource(R.drawable.note2);*/

			//控制进度条的显示和消失
			/*if(progressBar.getVisibility()==View.GONE){
				//getVisibility()方法获取进度条的显示状态
				progressBar.setVisibility(View.VISIBLE);
			}else{
				progressBar.setVisibility(View.GONE);
			}*/

			//点击按钮,增加进度条的进度
			/*int progress=progressBar.getProgress();//获取到当前进度条的进度
			progress=progress+10;
			progressBar.setProgress(progress);*/

			/*
			 * AlertDialog可以在当前的界面弹出一个对话框,这个对话框是置与所有界面元素之上的,能够
			 * 屏蔽掉其他控件的交互能力,因此一般AlertDialog都用于提示一些非常重要的内容或者警告信息
			 * */
			/*AlertDialog.Builder dialog=new AlertDialog.Builder(MainActivity.this);
			dialog.setTitle("this is dialog");//对话框标题
			dialog.setMessage("Something import.");//设置提示信息
			dialog.setCancelable(false);
			//为对话框设置确定按钮的点击事件
			dialog.setPositiveButton("OK", new DialogInterface.OnClickListener(){

				@Override
				public void onClick(DialogInterface dialog, int which) {
					// TODO Auto-generated method stub
					//进行逻辑处理
				}
			});
			//为对话框设置取消按钮的点击事件
			dialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener(){

				@Override
				public void onClick(DialogInterface dialog, int which) {
					// TODO Auto-generated method stub
					//进行逻辑处理
				}

			});
			//显示对话框
			dialog.show();*/

			/*
			 * ProgressDialog和AlertDialog有点类似,都是可以在界面弹出一个对话框,都能够屏蔽
			 * 掉其他控件的交互能力。不同的是,ProgressDialog会在对话框中显示一个进度条,一般是用于
			 *表示当前操作比较耗时,让用户耐心等待。
			 * */
			//创建组件
			ProgressDialog progressDialog=new ProgressDialog(MainActivity.this);
			//设置标题
			progressDialog.setTitle("this is progressDialog");
			//设置提示内容
			progressDialog.setMessage("Loading....");
			//setCancelable方法如果传入的false,表示ProgressDialog是不能通过back键取消掉的,
			//这时你就要在代码中做好控制,当数据加载完后必须要调用ProgressDialog的dismiss()方法来关闭
			//对话框,否则ProgressDialog将会一直存在
			progressDialog.setCancelable(true);
			//进行显示
			progressDialog.show();

			break;
		default:
			break;
		}
	}

}

运行程序后结果如下:

基本的控件的使用就总结到这里了,下面会讲解下android中的布局

转载请注明来至:http://blog.csdn.net/j903829182/article/details/40660275

时间: 2024-10-08 01:03:13

android学习五(android中基本控件的使用)的相关文章

Android下在onCreate中获取控件的宽度和高度(通过回调)

有时候需要在onCreate方法中知道某个View组件的宽度和高度等信息, 而直接调用View组件的getWidth().getHeight().getMeasuredWidth().getMeasuredHeight().getTop().getLeft()等方法是无法获取到真实值的,只会得到0. 这是因为View组件布局要在onResume回调后完成. 下面提供实现方法: 第一种: onGlobalLayout回调会在布局完成时自动调用 img1.getViewTreeObserver().

轻松学习Asp.net中的控件

C/S 结构,即大家熟知的客户机和服务器结构.它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销.目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件:因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统.

Android学习起步 - AutoCompleteTextView及MultiAutoCompleteTextView控件使用

大家在用百度搜索时,输入几个词就出现下拉框可选,以下两个控件就具有这个功能 AutoCompleteTextView:只能匹配输入的开始,只有一次匹配 MultiAutoCompleteTextView:可以匹配多次输入,用分隔符来分隔每一次的输入,就像发邮件时选多个联系人一样,见例子: 一.AutoCompleteTextView的效果实现如下 布局文件如下 1 <?xml version="1.0" encoding="utf-8"?> 2 <

android安卓onCreate方法中获取控件宽度高度

ViewTreeObserver vto = imageView.getViewTreeObserver(); vto.addOnGlobalLayoutListener(new OnGlobalLayoutListener() { public void onGlobalLayout() { imageView.getViewTreeObserver().removeGlobalOnLayoutListener(this); int height=imageView.getHeight();

Android 中常见控件的介绍和使用

1 TextView文本框 1.1 TextView类的结构 TextView 是用于显示字符串的组件,对于用户来说就是屏幕中一块用于显示文本的区域.TextView类的层次关系如下: java.lang.Object   ? android.view.View   ? android.widget.TextView 直接子类: Button, CheckedTextView, Chronometer, DigitalClock, EditText 间接子类: AutoCompleteTextV

android include中的控件调用

项目中经常会有一些布局是重用的,但是如何来更好的利用这些布局中的控件 转: http://zhidao.baidu.com/link?url=GU93U8Wu31dfp7mKEx52hMJkxjFLCq3WGkvZ8IMrahQT3wgAbC1Y93sKQ36_GQo3V4-Q9KWRHD6RIxMgBYj0zY7YsYNQuGFGjahZsFnz9wq <include android:id="@+id/view_counter_buttons_1" layout="

Android自定义控件系列 十:利用添加自定义布局来搞定触摸事件的分发,解决组合界面中特定控件响应特定方向的事件

这个例子是比较有用的,基本上可以说,写完这一次,以后很多情况下,直接拿过来addView一下,然后再addInterceptorView一下,就可以轻轻松松的达到组合界面中特定控件来响应特定方向的触摸事件了. 请尊重原创劳动成果,转载请注明出处:http://blog.csdn.net/cyp331203/article/details/45198549,非允许请勿用于商业或盈利用途,违者必究. 在写Android应用的过程之中,经常会遇到这样的情况:界面包含了多个控件,我们希望触摸在界面上的不

Android RelativeLayout中实现控件平分屏幕

? 1 <!-- ? 1 RelativeLayout 达到平分效果 ? 1 --> ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 <br><RelativeLayout     android:layout_width="fill_parent"     android:layout_height="wrap_content">     <View<br&g

Android在onCreate()中获得控件尺寸

@Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        final ImageView imageView = (ImageView) findViewById(R.id.imageview);              int w = View.Mea

Android中ExpandableListView控件基本使用

本文採用一个Demo来展示Android中ExpandableListView控件的使用,如怎样在组/子ListView中绑定数据源.直接上代码例如以下: 程序结构图: layout文件夹下的 main.xml 文件源代码例如以下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/a