布局资源(layout)的简单使用
16lz
2021-01-23
布局资源是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>
更多相关文章
- 深入浅出android/ophone UI实现水平布局的Tab控件
- Android Studio XML布局控件不提示属性以及不换行问题
- AndroidUI设计之布局-详细解析布局实现
- Android中的常用布局
- 跟我学Android之六 布局
- 68.android 简单的布局展示不全的问题,明明写的是android:layout_
- Android 中LayoutInflater(布局加载器)源码篇之parseInclude方法
- Android 中LayoutInflater(布局加载器)源码篇之rInflate方法