从零开始学android:布局管理器

线型布局管理器LinearLayout




框架布局管理器FrameLayout

FrameLayout布局(帧布局)就是在屏幕上开辟一个区域以填充所有的组件,但是使用FrameLayout布局会将所有的组件都放在屏幕的左上角,而且所有的组件可以层叠进行显示。



package com.richard.framelayout;import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.EditText;
import android.widget.FrameLayout;
import android.widget.ImageView;public class MainActivity extends Activity {@Overrideprotected 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.ic_launcher);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);	}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}



表格布局管理器TableLayout

TableLayout是采用表格的形式对控件的布局进行管理的,在TableLayout布局管理器之中,要使用TableRow进行表格行的控制,之后所有的组件要在TableRow中增加。

范例一:





范例二:

加背景和表格形式排列。






范例三:

动态生成表格

package com.example.tablelayout;import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.ViewGroup;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;public class MainActivity extends Activity {private String titleData[][] = new String[][]{{"ID","姓名","EMALL","地址"},{"ID","姓名","EMALL","地址"},{"ID","姓名","EMALL","地址"},{"ID","姓名","EMALL","地址"}};		//显示数据@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);TableLayout layout = new TableLayout(this);TableLayout.LayoutParams layoutParam = new TableLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,			//布局管理器宽度为屏幕宽度ViewGroup.LayoutParams.FILL_PARENT);		//布局管理器高度为屏幕高度layout.setBackgroundResource(R.drawable.logo);		//设置北京图片for(int x=0;x


相对布局管理器RelativeLayout

相对布局管理器指的是参考某一其他控件进行摆放,可以通过控制,将组件摆放在一个指定参考组件的上、下、左、右等位置,这些可以直接通过各个组件提供的属性完成。



package com.richard.relativelayout;import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.RelativeLayout;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);RelativeLayout layout  = (RelativeLayout) super.findViewById(R.id.RealtiveLayout1);RelativeLayout.LayoutParams param = new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,ViewGroup.LayoutParams.FILL_PARENT);param.addRule(RelativeLayout.BELOW,R.id.mybut);param.addRule(RelativeLayout.RIGHT_OF,R.id.imga);EditText text =  new EditText(this);layout.addView(text,param);}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}}

绝对定位布局管理器AbsoluteLayout



布局管理器的嵌套




本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部