目前正在从事iOS开发,对于安卓就是大学的时候自学了点,做过几个小的项目,软件外包大赛、计算机设计大赛、移动应用大赛都拿过奖项,呵呵。。。现在回想起来以前大学做的安卓比赛是多么的幼稚。 从现在开始我要从头一步一步回顾安卓,作为一个前端开发工程师要崛起了。。。。哈哈。。。请大家支持的我创作,多提提宝贵的意见。
步入正题!!!!!!!
关于Android的几种常见的布局其实很简单的,是一个入门的关键。主要的线性布局(所有的ui控件都是 以一条线 线性的 方式去 排列的)、相对布局(所有的控件 都是 以相对的位置去放置)、其次表格布局、帧布局(就是页面的叠加,播放器里经常用到)、绝对布局(已废弃)。
关于布局就是xml文件里写。可能有人会说那些标签太多不好记,没问题,不会的可以去控件里拖拽,时间长了子让会记住了。我就拿例子来说吧。
线性布局写的一个小米计算器
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Button
android:text="C"
android:textColor="#FFC928"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="wrap_content"/>
<Button
android:text="DEL"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="wrap_content"/>
<Button
android:text="÷"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="wrap_content"/>
<Button
android:text="×"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Button
android:text="7"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="wrap_content"/>
<Button
android:text="8"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="wrap_content"/>
<Button
android:text="9"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="wrap_content"/>
<Button
android:text="—"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Button
android:text="4"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="wrap_content"/>
<Button
android:text="5"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="wrap_content"/>
<Button
android:text="6"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="wrap_content"/>
<Button
android:text="+"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<LinearLayout
android:layout_width="0dip"
android:layout_weight="3"
android:layout_height="wrap_content"
android:orientation="vertical" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:text="1"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="wrap_content"/>
<Button
android:text="2"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="wrap_content"/>
<Button
android:text="3"
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<Button
android:text="0"
android:layout_width="0dip"
android:layout_weight="2"
android:layout_height="wrap_content"/>
<Button
android:text="."
android:layout_width="0dip"
android:layout_weight="1"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>
<Button
android:text="="
android:background="#F07A23"
android:layout_width="0dip"
android:layout_weight="1"
android:gravity="bottom|right"
android:layout_height="fill_parent"/>
</LinearLayout>
<ToggleButton
android:id="@+id/toggleButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="ToggleButton" />
</LinearLayout>
线性布局与相对布局混合使用做一个设置界面
<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:background="#113965"
android:orientation="vertical"
tools:context=".MainActivity" >
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#000000" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="10dp"
android:text="自动旋转屏幕"
android:textColor="#ffffff" />
<CheckBox
android:id="@+id/cbx"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true" />
</RelativeLayout>
<View
android:layout_width="fill_parent"
android:layout_height="1dip"
android:background="#ff0000" />
<SeekBar
android:id="@+id/seekBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="100"
android:visibility="visible" />
</LinearLayout>
网格布局做的类似qq的登入页面
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:text="请输入QQ"
android:layout_width="0dip"
android:layout_weight="2"
android:layout_height="wrap_content"/>
<EditText
android:layout_width="0dip"
android:layout_weight="5"
android:layout_height="wrap_content"/>
</TableRow>
<TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:text="请输入QQ密码"
android:layout_width="0dip"
android:layout_weight="2"
android:layout_height="wrap_content"/>
<EditText
android:layout_width="0dip"
android:layout_weight="5"
android:layout_height="wrap_content"/>
</TableRow>
<Button
android:text="登入"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</TableLayout>
绝对布局做的类似游戏鼠标的界面
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/middle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerInParent="true"
android:layout_centerVertical="true"
android:text="中间" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@+id/middle"
android:layout_centerHorizontal="true"
android:text="上" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/middle"
android:layout_centerHorizontal="true"
android:text="下" />
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toLeftOf="@id/middle"
android:text="左" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/middle"
android:text="右" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="左上角" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_marginLeft="14dp"
android:text="左下角" />
</RelativeLayout>
帧布局
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:text=""
android:background="#ff0000"
android:layout_width="200dip"
android:layout_height="200dip"/>
<TextView
android:text=""
android:background="#00ff00"
android:layout_width="100dip"
android:layout_height="100dip"/>
<TextView
android:text=""
android:background="#0000ff"
android:layout_width="50dip"
android:layout_height="50dip"/>
</FrameLayout>