android官方教程从零开刷(二)

Building a Simple User Interface

The graphical user interface for an Android app is built using a hierarchy of 

The graphical user interface for an Android app is built using a hierarchy of View and ViewGroup objects. View objects are usually UI widgets such as buttons or text fields and ViewGroup objects are invisible view containers that define how the child views are laid out, such as in a grid or a vertical list.

Android provides an XML vocabulary that corresponds to the subclasses of View and ViewGroup so you can define your UI in XML using a hierarchy of UI elements.

Alternative Layouts

Declaring your UI layout in XML rather than runtime code is useful for several reasons, but it‘s especially important so you can create different layouts for different screen sizes. For example, you can create two versions of a layout and tell the system to use one on "small" screens and the other on "large" screens. For more information, see the class about Supporting Different Devices.

这段主要就是说,我们用到的TextView啊,Button啊,他们都是View,我们看到的view都是在viewGroup上展现的,ViewGroup是不可见的。View和ViewGroup之间是有层级关系的,ViewGroup是View的容器。

我们可以在/layout/下创建xml文件来直接展示这些TextView、Button之类的东西,因为他们都是View的子类。Linearlayout 是ViewGroup的子类。


接下来写了一个EditText,介绍了view中的各种属性。

id,layout_height,layout_width,hint

strings资源的使用


写了一个Button,然后介绍了在LinearLayout布局下怎么样才能使一个EditText和Button沾满一行。

主要用到的是layout_weight这个属性,所有的View的默认layout_weight的值是0,只要指定的layout_weight大于0,那么这个View就会沾满剩下的空间。如果把两个View的weight都设为1,把layout_width设为0,那么两个View平分空间。



Starting Another Activity

先在xml中定义一个Button,添加onclick属性,onclick属性的值就是Acitvity中的方法名,比如toSecondActivity,这里要用这个Button通过点击跳到另一个Activity并且带上数据。

在Activity中Button定义的方法为

public void toSecondActivity(View v){

 //1.方法为public的 2.返回值为void 3.参数为View。

    Intent intent = new Intent(this,SecondActivity.class);

    String message = editText.getText().toString().trim();

    intent.putExtra(EXTRA_MESSAGE,message);

    startActivity(intent);

}


在Manifest.xml中添加新建的SecondActivity

intent的putExtra()方法通过value-key的方式传递数据。

在点击button的时候就会跳到第二个Activity了

这种启动Activity的方式属于Intent的显示跳转Activity.

在第二个Activity中得到信息并展示:

@Override
public void onCreate(Bundle savedInstanceState) {
   
super.onCreate(savedInstanceState);

   
// Get the message from the intent
   
Intent intent = getIntent();
   
String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);

   
// Create the text view
   
TextView textView = new TextView(this);
    textView
.setTextSize(40);
    textView
.setText(message);

   
// Set the text view as the activity layout
    setContentView
(textView);
}


本文出自 “Jack的足迹” 博客,请务必保留此出处http://jack326162646.blog.51cto.com/7640742/1586096

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。