2494天 Mr.贰呆

唯一自信的就是自己的人品。
寻求王者玩家一起开黑净化峡谷环境​​

【Android】零基础编写android项目之布局篇

发布于 / 1223 次围观 / 0 条评论 / Android / 二呆 /

前面我们对android有了基础的认识,接下来就针对布局和图片表格控件GridView做一下介绍。

Layout五大布局分为LinearLayout线性布局、RelativeLayout相对布局、TableLayout表格布局、FrameLayout框架布局、AbsoluteLayou绝对布局,下面我们就拿用的最多的线性布局和相对布局做详解。

GridView图片表格控件也是比较常用的空间,它可以以表格的形式显示图片资源,比如旅游app中让各景点图片罗列出来,是一个不错的控件选择。

不多说,零基础编写android项目之布局篇开始:

一、LinearLayout线性布局

①我们需要知道线性布局的使用范围,一般LinearLayout用在没有特殊规则的布局上,因为LinearLayout只可以水平、垂直排列,比如计算器项目等。下面我们针对用户登录窗口的布局来介绍LinearLayout。

②开始编写布局代码,你可以先用鼠标直接拖动控件到想要放的位置,看看效果如何,你会发现线性布局智能拖动成垂直显示方式,因为android:orientation="vertical"这句代码的作用,它表示该布局以垂直方向显示各控件,如果不加这句则默认以horizontal方式水平显示。

③各属性含义:

1、LinearLayout:可以嵌套并且必须要有layout_width和layout_height属性,其值有match_parent匹配父控件、wrap_content包裹匹配控件、fill_parent填充父控件;

2、orientation:控制是水平排列还是垂直排列;

3、background:设置背景;

4、gravity:设置该布局中内容的对齐方式;

5、layout_gravity:设置该布局本身的对齐方式;

6、id:设置该控件的索引,用来在Activity中调用;

7、text:设置控件显示的内容;

8、textSize:设置字体大小;

9、hint:设置EditText文本框控件中鼠标点击前的内容,点击后自动清空内容;

10、ems:设置EditText字数长度;

11、layout_weight:设置该控件的权重,用来按一定比例自动调整各控件的宽度。

二、RelativeLayout相对布局

①还是先介绍相对布局的使用范围,它比LinearLayout更强大,可以用于布局复杂的视图,一般都是LinearLayout和RelativeLayout混用。可以先用鼠标拖动控件的方法演示一遍,你会发现可以自由的拖动控件到指定位置,自由设计视图界面,一般推荐先用鼠标拖动方式大致拼出目标样式,再进行代码微调。

②结合LinearLayout混排设计一个用户登录的布局,上边表明相对布局可以任意排版布局,之后加上LinearLayout就如同如虎添翼,它可以使各控件变的更加整齐、美观。

③各属性的含义:

1、padding:设置内容和控件之间的边距大小;

2、layout_margin:设置控件和其他控件或layout布局边框的距离大小(注:在android视图界面中margin距离是从左上角开始算的);

3、其他属性LinearLayout。

三、GridView图片表格控件

①先用GridView图片表格控件布局出所要显示的视图样式。

②编写业务逻辑代码,大体流程是将图片列出来,当点击图片时执行测试代码,以便进行后续操作。

③代码解释:

1、要想用GridView就需要设置一个适配器,gridView.setAdapter(adapter);

2、所以自己要自定义一个适配器类,这个类需要继承BaseAdapter抽象类,并实现其方法,在此之前需要定义图片数组:

⑴定义图片数组:private int[] images;

⑵getCount()返回图片的数量images.length;

⑶getItem(int position)返回每个图片的对象images[position],其中position为图片的位置;

⑷getItemId(int position)返回图片的位置position。

④编写当点击图片时的测试代码,在这里不同于一般控件的点击事件setOnClickListener(new OnClickListener() {,这里GridView用到的是setOnItemClickListener(new OnItemClickListener() {,并实现onItemClick方法,其中代码Toast.makeText(GridViewActivity.this, "-->"+position,1).show();即为测试代码,输出图片的位置信息。预览图如下:

sitemap