当前位置: 代码迷 >> Android >> android编码轨范&常用布局
  详细解决方案

android编码轨范&常用布局

热度:56   发布时间:2016-04-27 22:43:29.0
android编码规范&常用布局

1、android编码规范

Android官方并没有给出相应的编码规范,一下是我个人从这段时间的学习中总结的一些编码规范。

首先说类名与变量的定义,定义与用户交互的类**Activity.java。自定义变量一律以小写字母m开头,例如:Button?mshowText?=?(Button)findViewById(R.id.showText)

控件ID的定义,ID一律用小写表示,例如一个图片ImageView?可定义为:@+id/iv,也可以以“名词_控件名称”这种形式定义。

其次是图片的定义格式,图片的定义以解释清楚为准,参照这种定义格式“btn_background_ok.png”

String类的name定义,可以按照驼峰命名法,首字母小写,例如:String?name=usename

最后,也是最容易出错的,布局文件名称的定义必须为小写字母,否者无法生成R类,尽量不要用缩写,也是以表达清楚为准,通常情况下用下划线连接各语义单词,例如show_button_icons.xml?或者list_menu_item_choose.xml

?

1、常用布局

?

Android中有五大布局,分别是线性布局、帧布局、表格布局、相对布局、绝对布局,其中,线性布局和表格布局以及相对布局是用的最多的三个布局方式。

?

(1)LinearLayout?:线性布局

?

LinearLayout?是最常用的一种布局方式,它包含的子控件将以横向或竖向的方式排列,按照相对位置来排列所有的widgets或者其他的containers,超过边界时,某些控件将缺失或消失。因此一个垂直列表的每一行只会有一个widget或者是container,而不管他们有多宽,而一个水平列表将会只有一个行高(高度为最高子控件的高度加上边框高度)。LinearLayout保持其所包含的widget或者是container之间的间隔以及互相对齐(相对一个控件的右对齐、中间对齐或者左对齐)

?

android:orientation="vertical"?表示竖直方式对齐????

?

android:orientation="horizontal"表示水平方式对齐????

?

android:layout_width="fill_parent"定义当前视图在屏幕上?可以消费的宽度,fill_parent即填充整个屏幕。????

?

android:layout_height="wrap_content":随着文字栏位的不同?而改变这个视图的宽度或者高度。

?

以下是线性布局的一个简单的例子。

?

?

?



?

?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" ><!--  et.setText(float a+"");-->    <EditText        android:layout_width="fill_parent"        android:layout_height="wrap_content" />    <!-- linerLayout  控件 -->    <LinearLayout        android:layout_width="fill_parent"        android:layout_height="wrap_content" >        <Button            android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:layout_weight="1" />        <Button            android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:layout_weight="1" />        <Button            android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:layout_weight="1" />        <Button            android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:layout_weight="1" />    </LinearLayout>         <LinearLayout        android:layout_width="fill_parent"        android:layout_height="wrap_content" >        <Button            android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:layout_weight="1" />        <Button            android:layout_width="fill_parent"            android:layout_height="wrap_content"            android:layout_weight="3" />    </LinearLayout></LinearLayout>

?

2RleativeLayout?:相对布局

一个简单的相对布局相对布局最好使用例子来解释。假设我们要设计一个屏幕,包含一个EditText控件和一个Button控件。我们希望Button显示在?EditText控件的右边。因此,我们可以定义一个包含两个子控件的相对布局:子控件分别是EditTextButtonEditText控件可能有一个规则说:将这个控件放置在父控件(布局)的左手边并且在第二个控件(Button)的左边。同时,Button控件可能有一个规则:将这个控件放置在父控件(布局)的右手边。


?

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"     >     <Button           android:layout_width="wrap_content"          android:layout_height="wrap_content"          android:layout_centerInParent="true"          android:id="@+id/bt"          android:text="Ceter"         />      <Button           android:layout_width="wrap_content"          android:layout_height="wrap_content"          android:id="@+id/bt2"          android:text="上面"          android:layout_above="@id/bt"          android:layout_alignLeft="@id/bt"         />       <Button           android:layout_width="wrap_content"          android:layout_height="wrap_content"          android:id="@+id/bt3"          android:text="左面"          android:layout_toLeftOf="@id/bt"          android:layout_alignBaseline="@id/bt"         />       <Button           android:layout_width="wrap_content"          android:layout_height="wrap_content"          android:id="@+id/bt3"          android:text="左上面"          android:layout_toLeftOf="@id/bt"          android:layout_above="@id/bt"         /></RelativeLayout>

?

3TableLayout:表格布局

TableLayout,表格布局采用行列形式管理UI组件,TableLayout不需要明确地声明有多少行和列,而是通过添加TableRow、其它组件来控制表格的行数、列数。每次向TableLayout添加一个TableRow,就是在向表格添加一行,TableRow也是容器,可以向TableRow中添加组件,每添加一个组件,即是添加一列。如果直接向TableLayout添加组件,则认为这个

组件占用行。表格布局中列的宽度即是每一列中最宽的组件的宽度。如下是一个包含4TableLayout布局的实例及效果图



?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:orientation="vertical" >    <TextView           android:layout_width="fill_parent"          android:layout_height="wrap_content"          android:text="表1:"        />    <TableLayout          android:layout_width="fill_parent"          android:layout_height="wrap_content"          android:stretchColumns="0"          android:shrinkColumns="1"         >        <TableRow >              <Button  android:text="该列可以伸展"/>              <Button  android:text="该列可以收缩"/>        </TableRow>        <TableRow >             <TextView android:text="我向该行伸展,我可以很长bbbbbbb"/>             <TextView android:text="我向该列收缩,我可以很深sasasasas"/>        </TableRow>    </TableLayout>        <TextView          android:layout_width="fill_parent"         android:layout_height="wrap_content"         android:text="表2:"        />    <TableLayout          android:layout_width="fill_parent"         android:layout_height="wrap_content"        >        <TableRow >            <Button android:text="第0列"/>            <Button android:text="第1列"/>            <Button android:text="第2列"/>        </TableRow>        <TableRow >            <TextView android:text="我在第一列"  android:layout_column="1" />        </TableRow>          <TableRow >            <TextView android:text="我在两列,从第一列开始"  android:layout_column="1" android:layout_span="2" />        </TableRow>    </TableLayout>     <TextView          android:layout_width="fill_parent"         android:layout_height="wrap_content"         android:text="表3:"        />     <TableLayout          android:layout_width="fill_parent"         android:layout_height="wrap_content"        >          <TableRow >              <Button android:text="一"/>              <Button android:text="两字"/>              <Button android:text="三个字"/>          </TableRow>          </TableLayout>         <TextView          android:layout_width="fill_parent"         android:layout_height="wrap_content"         android:text="表4:"        />     <TableLayout          android:layout_width="fill_parent"         android:layout_height="wrap_content"        >          <TableRow >              <Button android:text="一" android:layout_weight="1"/>              <Button android:text="两字" android:layout_weight="1"/>              <Button android:text="三个字" android:layout_weight="1"/>          </TableRow>          </TableLayout></LinearLayout>

?

<!--EndFragment-->

  相关解决方案