Android中的布局方式之 框架布局管理器

来源:互联网 发布:淘宝传说红包 编辑:程序博客网 时间:2024/05/25 01:35


        FrameLayout 布局,又叫帧布局,就是在屏幕上开辟一个区域以填充所有的组件,但是FrameLayout会将所有的组件都放在屏幕的左上角,而且所有的组件通过层叠的方式来进行显示,也就是说,他们都是从从上角处开始放,然后一个覆盖着一个的方式。

看看xml文件,我们只是把Linelayout换成了Framelayout其它都没变。如下:

<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="vertical"    android:layout_width="fill_parent"    android:layout_height="fill_parent"    >    <ImageViewandroid:id="@+id/myimg" android:src="@drawable/mldn_3g"android:layout_width="wrap_content"android:layout_height="wrap_content"/><EditTextandroid:id="@+id/myinput" android:text="请输入您的姓名..."android:layout_width="wrap_content"android:layout_height="wrap_content"/><Buttonandroid:id="@+id/mybut"android:layout_width="wrap_content"android:layout_height="wrap_content" android:text="按我" /><TextView      android:layout_width="fill_parent"     android:layout_height="wrap_content"     android:text="@string/hello"    /></FrameLayout>
结果如下:


 

这里当然也可以想前面用代码的方式来进行布局,效果也一样,代码如下:

package com.andy.android.framelayout;import android.app.Activity;import android.os.Bundle;import android.view.ViewGroup;import android.widget.Button;import android.widget.EditText;import android.widget.FrameLayout;import android.widget.ImageView;public class FrameLayoutTestActivity extends Activity {    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        FrameLayout layout = new FrameLayout(this); // 定义帧布局管理器FrameLayout.LayoutParams layoutParam = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,ViewGroup.LayoutParams.FILL_PARENT); // 定义布局管理器的参数FrameLayout.LayoutParams viewParam = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT); // 定义显示组件的参数ImageView img = new ImageView(this); // 定义图片组件img.setImageResource(R.drawable.mldn_3g); // 定义显示的图片EditText edit = new EditText(this); // 定义文本输入组件edit.setText("请输入您的姓名..."); // 设置显示的文字Button but = new Button(this); // 定义按钮but.setText("按我"); // 设置按钮的文字layout.addView(img, viewParam); // 增加组件layout.addView(edit, viewParam); // 增加组件layout.addView(but, viewParam); // 增加组件super.setContentView(layout, layoutParam); // 向屏幕上增加布局管理器    }}


原创粉丝点击