布局资源是Android中最常用的一种资源,Android可以将屏幕中组件的布局方式定义在一个XML中,这有点像Web开发中的HTML页面。我们可以调用Activity.setContentView()方法,将布局文件展示在Activity上。Android通过LayoutInflater类将XML文件中的组件解析为可视化的视图组件。

下面通过一个实例来演示布局文件的简单使用:

Activity:

package com.lovo;import android.app.Activity;import android.graphics.drawable.Drawable;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.ImageView;import android.widget.TextView;public class TestLayoutActivity extends Activity {private TextView myTextView;private EditText myEditText;private Button myButton;@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.test_layout);// 通过findViewById方法获得TextView实例myTextView = (TextView) findViewById(R.id.TextView);// 通过findViewById方法获得EditText实例myEditText = (EditText) findViewById(R.id.EditText);// 通过findViewById方法获得Button实例myButton = (Button) findViewById(R.id.btn);myButton.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {// 得到输入框的内容String str = myEditText.getText().toString();// 把输入框的内容设置到TextView中myTextView.setText(str);}});}}


布局XML:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >    <!--    以上四个属性分别是命名空间、组件布局方向(这里是垂直)、    布局的宽(充满屏幕)、和高(充满屏幕)    -->    <!-- 以下嵌套一个TableLayout -->    <TableLayout        android:layout_width="fill_parent"        android:layout_height="fill_parent"        android:stretchColumns="1" >        <!-- stretchColumns设置指定的列可伸展,下标从0开始,该列会尽量填满可用空间,多列用“,”隔开 -->        <TableRow>            <TextView                android:id="@+id/layoutTextView"                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:text="测试Layout:" />            <!--        以上四个属性分别是:文本内容、引用组件的ID、组件的宽(内容的宽)、        组件的高(内容的高)            -->            <EditText                android:id="@+id/EditText"                android:layout_width="fill_parent"                android:layout_height="wrap_content" />        </TableRow>        <!-- gravity指内部组件相对本身容器的位置 -->        <TableRow android:gravity="right" >            <Button                android:id="@+id/btn"                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:text="点击获取输入框内容" />        </TableRow>        <TableRow>            <TextView                android:id="@+id/TextView"                android:layout_width="fill_parent"                android:layout_height="wrap_content" />        </TableRow>    </TableLayout></LinearLayout>


更多相关文章

  1. 深入浅出android/ophone UI实现水平布局的Tab控件
  2. Android Studio XML布局控件不提示属性以及不换行问题
  3. AndroidUI设计之布局-详细解析布局实现
  4. Android中的常用布局
  5. 跟我学Android之六 布局
  6. 68.android 简单的布局展示不全的问题,明明写的是android:layout_
  7. Android 中LayoutInflater(布局加载器)源码篇之parseInclude方法
  8. Android 中LayoutInflater(布局加载器)源码篇之rInflate方法

随机推荐

  1. Android(安卓)软键盘控制弹出(很好使,自己
  2. android 带你从源码的角度解析Scroller的
  3. Android(安卓)Flash 10.1与Lite版视频播
  4. Android系统原理与开发要点详解
  5. Android读书笔记之Android布局小结
  6. Android与Unity交互调用mUnityPlayer.qui
  7. Android:Gradle 解析
  8. New Graphics Improvement in Android(安
  9. android process and thread
  10. android 笔记 --- Android各种访问权限Pe