1、新建一个名为HelloWorld的Android项目
2、在XML布局文件定义应用程序的用户界面
在activity_hello_world.xml中定义应用程序的用户界面
1)图形化布局,“所见即所得”的拖拽形式
2)xml文件的源码形式
我们可以再控制面板中向程序拖入一个“Button”,然后在此基础上,在源代码界面进行修改。
我们在界面中拖入一个”button”,activity_hello_world.xml文件内容如下:
<RelativeLayout 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:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".HelloWorld" >
<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/textView1"
android:layout_centerHorizontal="true"
android:text="点击我" />
</RelativeLayout>
RelativeLayout代表了一个相对布局,在该界面布局中包含两个UI控件。
- TextView:代表一个文本框
- Button:代表一个普通按钮
UI组件上的通用属性
- android:id:该控件的唯一标识,在Java程序中可以通过findViewById(“id”)来获取指定的Android界面组件
- android:layout_width:指定该界面组件的宽度,match_parent该组件与父容器有相同的宽度,wrap_content能包裹内容的宽度
- android:layout_height:指定该界面组件的高度,同上。
Android把用户界面放在XML文档中定义,可以让XML文档专门负责用户的UI设置,而Java程序则专门负责业务实现,这样可以降低程序的耦合性。
3、在Java代码中编写业务实现
public class HelloWorld extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//使用activity_hello_world.xml文件定义界面的布局
setContentView(R.layout.activity_hello_world);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.hello_world, menu);
return true;
}
public void clickHandler(View source)
{
//获取UI界面中ID的R.id.textView1的文本框
TextView tv=(TextView)this.findViewById(R.id.textView1);
tv.setText("Hello Android"+ new java.util.Date());
}
实现功能:在界面中添加一个按钮和文本框,点击按钮,文本框内容实现为hello android+当前时间。
参考资料:疯狂Android 讲义