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":随着文字栏位的不同 而改变这个视图的宽度或者高度。

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


android编码规范&常用布局
 

<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>

(2)RleativeLayout :相对布局

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

android编码规范&常用布局
 

<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>

(3)TableLayout:表格布局

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

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


android编码规范&常用布局
 

<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-->

相关推荐