Android 编写界面的两种方式: 1.DroidDraw 可视化界面编辑器 2.XML代码
3常见控件的使用方法: 3.2.1 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:text="This is TextView"/>                                 </LinearLayout>                      
android:layout_width 指定宽度 android:layout_height 指定高度
match_parent 含义同fill_parent 官方推荐使用 让当前控件大小与父布局大小一样
fill_parent 含义同match_parent
wrap_parent 控件的大小刚好能包含住里面的内容,控件内容决定大小
android:text 指定了TextView中的内容
android:gravity指定文字的对齐方式 可选top bottom left right center
                                  center_veritical|center_horizontal //文字垂直和水平方向都居中对其                 

                                           android:textSize="26sp"//调整文字大小                                 android:textColor="#00ff00"//调整文字颜色                      


3.2.2 Button XML文件中添加定义
                                           <Button                                  android:id="@+id/button"                                  android:layout_width="match_parent"                                  android:layout_height="wrap_content"                                  android:text="Button" />                      
MainActivity.java中注册监听器 (1)匿名类方式
                                           private Button button;                                 //为Button的点击事件注册一个监听器                                 setContentView(R.layout.activity_main);                                 button = (Button) findViewById(R.id.button);                                 button.setOnClickListener(new View.OnClickListener() {                                  @Override                                  public void onclick(View v) {                                  //在此添加逻辑                                  }                                 });                      
(2)接口式方式
                                           public class MainActivity extends Activity implements OnClickListener {                                                                   private Button button;                                                                   @Override                                  protected void onCreate(Bundle savedInstanceState) {                                  super.onCreate(savedInstanceState);                                  setContentView(R.layout.activity_main);                                  button = (Button)findViewById(R.id.button);                                  button.setOnClickListener(this);                                  }                                                                   @Override                                  public void onClick(View v) {                                  switch (v.getId()) {                                  case R.id.button:                                  //在此添加逻辑                                  break;                                  default:                                  break;                                  }                                  }                                 }                      

@Override是伪代码,表示重写(当然不写也可以),不过写上有如下好处:
1、可以当注释用,方便阅读;
2、编译器可以给你验证@Override下面的方法名是否是你父类中所有的,如果没有则报错。例如,你如果没写@Override,而你下面的方法名又写错了,这时你的编译器是可以编译通过的,因为编译器以为这个方法是你的子类中自己增加的方法。

举例:在重写父类的onCreate时,在方法前面加上@Override 系统可以帮你检查方法的正确性。
@Override
public void onCreate(Bundle savedInstanceState)

{…….}
这种写法是正确的,如果你写成:

@Override
public void oncreate(Bundle savedInstanceState)
{…….}
编译器会报如下错误:The method oncreate(Bundle) of type HelloWorld must override or implement a supertype method,以确保你正确重写onCreate方法(因为oncreate应该为onCreate)。而如果你不加@Override,则编译器将不会检测出错误,而是会认为你为子类定义了一个新方法:oncreate


来源:http://blog.csdn.net/zht666/article/details/7869383

1.Bundle类的作用
  Bundle类用作携带数据,它类似于Map,用于存放key-value名值对形式的值。相对于Map,它提供了各种常用类型的putXxx()/getXxx()方法,如:putString()/getString()和putInt()/getInt(),putXxx()用于往Bundle对象放入数据,getXxx()方法用于从Bundle对象里获取数据。Bundle的内部实际上是使用了HashMap<String, Object>类型的变量来存放putXxx()方法放入的值:
在调用Bundle对象的getXxx()方法时,方法内部会从该变量中获取数据,然后对数据进行类型转换,转换成什么类型由方法的Xxx决定,getXxx()方法会把转换后的值返回。 3.Intent(意图)
  Android基本的设计理念是鼓励减少组件间的耦合,因此Android提供了Intent (意图) ,Intent提供了一种通用的消息系统,它允许在你的应用程序与其它的应用程序间传递Intent来执行动作和产生事件。使用Intent可以激活Android应用的三个核心组件:活动、服务和广播接收器。
  Intent可以划分成显式意图和隐式意图。
  显式意图:调用Intent.setComponent()或Intent.setClass()方法明确指定了组件名的Intent为显式意图,显式意图明确指定了Intent应该传递给哪个组件。
  隐式意图:没有明确指定组件名的Intent为隐式意图。 Android系统会根据隐式意图中设置的动作(action)、类别(category)、数据(URI和数据类型)找到最合适的组件来处理这个意图。
来源: http://android.sunplusedu.com/answer/2013/0225/922.html


3.2.3EditText XM文件内添以下内容
                                            <EditText                                  android:id="@+id/edit_text"                                  android:layout_width="match_parent"                                  android:layout_height="wrap_parent" />                      

控件定义基本方式: 1.给控件一个id 2.指定控件的高度和宽度
指定提示性文本
                                           android:hint="Type something here"                      


指定EditText的最大行数
                                           android:maxLines="2"                      
输入内容超过两行时文字会自动向上滚动

3.2.4ImageView 用于在界面上展示图片 XML文件定义
                                            <ImageView                                  android:id="@+id/image_view"                                  android:layout_width="wrap_content"                                  android:layout_height="wrap_content"                                  android:src="@drawable/ic_launcher"/>                      
MainActivity.java定义
                                           public class MainActivity extends Activity implements OnClickListener {                                                                   private Button button;                                  private EditText editText;                                  private ImageView imageView;                                                                   @Override                                  protected void onCreate(Bundle savedInstanceState) {                                  super.onCreate(savedInstanceState);                                  setContentView(R.layout.activity_main);                                  button = (Button)findViewById(R.id.button);                                  editText = (EditText) findViewById(R.id.edit_text);                                  imageView = (ImageView) findViewById(R.id.image_view);                                  button.setOnClickListener(this);                                  }                                                                   @Override                                  public void onClick(View v) {                                  switch (v.getId()) {                                  case R.id.button:                                  //在此添加逻辑                                  imageView.setImageResource(R.drawable.jelly_bean);                                  break;                                  default:                                  break;                                  }                                  }                                 }                      



3.2.5 ProgressBar 用于在界面上显示一个进度条 表示程序正在加载一些数据 XMS添加
                                           <ProgressBar                                  android:id="@+id/progress_bar"                                  android:layout_width="match_parent"                                  android:layout_height="wrap_content" />                      


MainActivity.java文件中修改为
                                           public class MainActivity extends Activity implements OnClickListener {                                                                   private Button button;                                  private EditText editText;                                  private ImageView imageView;                                  private ProgressBar progressBar;                                                                   @Override                                  protected void onCreate(Bundle savedInstanceState) {                                  super.onCreate(savedInstanceState);                                  setContentView(R.layout.activity_main);                                  button = (Button)findViewById(R.id.button);                                  editText = (EditText) findViewById(R.id.edit_text);                                  imageView = (ImageView) findViewById(R.id.image_view);                                  progressBar = (ProgressBar) findViewById(R.id.progress_bar);                                  button.setOnClickListener(this);                                  }                                                                   @Override                                  public void onClick(View v) {                                  switch (v.getId()) {                                  case R.id.button:                                  //在此添加逻辑                                  if (progressBar.getVisibility() == View.GONE) {                                  progressBar.setVisibility(View.VISIBLE);                                  } else {                                  progressBar.setVisibility(View.GONE);                                  }                                  break;                                  default:                                  break;                                  }                                  }                                 }                      

之前默认进度条为圆形进度条 若想改为水平进度条可修改XML文件为
                                           style="?android:attr/progressBarStyleHorizontal"                                  android:max="100"                      
3.2.6 AlertDialog 可以再当前的界面弹出一个对话框 置于所有页面元素之上 MainActivity.java文件修改如下
                                           public class MainActivity extends Activity implements OnClickListener {                                                                   private Button button;                                  private EditText editText;                                  private ImageView imageView;                                  private ProgressBar progressBar;                                                                   @Override                                  protected void onCreate(Bundle savedInstanceState) {                                  super.onCreate(savedInstanceState);                                  setContentView(R.layout.activity_main);                                  button = (Button)findViewById(R.id.button);                                  editText = (EditText) findViewById(R.id.edit_text);                                  imageView = (ImageView) findViewById(R.id.image_view);                                  progressBar = (ProgressBar) findViewById(R.id.progress_bar);                                  button.setOnClickListener(this);                                  }                                                                   @Override                                  public void onClick(View v) {                                  switch (v.getId()) {                                  case R.id.button:                                  //在此添加逻辑                                  AlertDialog.Builder dialog = new AlertDialog.Builder(MainActivity.this);                                  dialog.setTitle("This is Dialog");                                  dialog.setMessage("Something important");                                  dialog.setCancelable(false);                                  dialog.setPositiveButton("Ok", new DialogInterface.OnClickListener() {                                  @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;                                  }                                  }                                 }                      

3.2.7 ProgressDialog 类似于AlertDialog ,但会在对话框中显示一个进度条,一般是表示当前操作比较费时,需要耐心等候、 修改MainActivity如下
                                           public class MainActivity extends Activity implements OnClickListener {                                                                   private Button button;                                  private EditText editText;                                  private ImageView imageView;                                  private ProgressBar progressBar;                                                                   @Override                                  protected void onCreate(Bundle savedInstanceState) {                                  super.onCreate(savedInstanceState);                                  setContentView(R.layout.activity_main);                                  button = (Button)findViewById(R.id.button);                                  editText = (EditText) findViewById(R.id.edit_text);                                  imageView = (ImageView) findViewById(R.id.image_view);                                  progressBar = (ProgressBar) findViewById(R.id.progress_bar);                                  button.setOnClickListener(this);                                  }                                                                   @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.setCancelable(true);                                  progressDialog.show();                                  break;                                  default:                                  break;                                  }                                  }                                 }                      

更多相关文章

  1. IBM详解 Android(安卓)的 Activity 组件
  2. eclipse 开发 android 快捷键
  3. Android(安卓)四大组件(Activity、Service、BroadCastReceiver、
  4. Android(安卓)实现沉浸式只需一行代码
  5. 第99章、Android调用Javascript(从零开始学Android)
  6. Android属性动画Property Animation系列二之ObjectAnimator
  7. Android中WebView使用规范
  8. 浅谈Java中Collections.sort对List排序的两种方法
  9. Python list sort方法的具体使用

随机推荐

  1. 更改cocos2d-x android 项目的cocos2d-x
  2. android studio配置retrolambda
  3. Android中的前置服务
  4. android SDK 代理配置(东北大学)
  5. Android(安卓)常用代码段收集(不断更新)(都
  6. Android(安卓)5.0 API 的变化——开发人
  7. android 开发环境搭建(Windows平台)
  8. Android(安卓)Retrofit网络框架 (一)
  9. android 自定义圆形进度条
  10. Android(安卓)第三方组件Volley加载网络