第一次做APP,避免忘记。
先说一下四种布局方式:
1》LinearLayout(线性布局),LinearLayout有分为两种形式:vertical(垂直)和horizontal(水平);
经常用到的属性有:layout_width(宽度),layout_height(高度)
2》RelativeLayout(线性布局);
3》TableLayout(表格布局);
4》AbsoluteLayout(绝对布局);
个人认为,所有的APP界面都能够用四种布局中的任何一种设计出来,根据每个人的喜好不用,以及要求不同,任意挑选。
其中绝对布局我个人很少用到,主要用LinearLayout和RelativeLayout这两种布局,在有一些特殊要求的时候,比如,显示一个列表,这时候我会选择TableLayout。
下面我会用两种不同的布局写出具有同样效果的一个普通登录界面。
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:orientation="vertical"
android:background="#00FF00"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:id="@+id/wenzi"
android:layout_width="match_parent"
android:layout_weight="1"
android:layout_height="0dp"
android:text="@string/regiset"
android:textColor="#EE00EE"
android:textSize="20sp"
android:gravity="center"/>
<ImageView
android:contentDescription="@string/hello_world"
android:id="@+id/tupian"
android:layout_width="match_parent"
android:layout_weight="2"
android:layout_height="0dp"
android:src="@drawable/logo"
android:background="#00DD00"/>
<EditText
android:id="@+id/goin"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:ems="10"
android:hint="@string/username"
android:textColor="#EEEEEE"
android:textSize="20sp" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/join"
android:layout_width="match_parent"
android:layout_weight="1"
android:layout_height="0dp"
android:hint="@string/password"
android:inputType="textPassword"
android:ems="10"
android:textColor="#AAAAAA"
android:textSize="20sp"/>
<LinearLayout
android:id="@+id/two"
android:layout_width="match_parent"
android:layout_weight="1"
android:layout_height="0dp"
android:orientation="horizontal"
style="?android:attr/buttonBarButtonStyle">
<Button
android:id="@+id/denglu"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2"
android:bufferType="normal"
android:text="@string/denglu"
android:textColor="#222222"
android:textSize="20sp" />
<Button
android:id="@+id/zhuce"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:bufferType="normal"
android:text="@string/zhuce"
android:textColor="#888888"
android:textSize="20sp"/>
</LinearLayout>
效果图:
xmlns:tools=" http://schemas.android.com/tools "
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#2C3D4E"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".OneActivity" >
android:id="@+id/denglujiemian"
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_alignParentTop="true"
android:gravity="center"
android:text="@string/regiset"
android:textColor="#00FF00"
android:textSize="20sp"/>
<ImageView
android:contentDescription="@string/hello_world"
android:id="@+id/tupiantwo"
android:layout_width="match_parent"
android:layout_height="140dp"
android:layout_marginBottom="5dp"
android:layout_marginTop="5dp"
android:layout_below="@id/denglujiemian"
android:background="#00DD00"
android:src="@drawable/logo"
android:scaleType="fitXY"/>
<EditText
android:id="@+id/usernametwo"
android:layout_width="match_parent"
android:layout_height="70dp"
android:layout_marginTop="5dp"
android:layout_marginBottom="5dp"
android:layout_below="@id/tupiantwo"
android:background="#0FFFFF"
android:hint="@string/username"/>
<EditText
android:id="@+id/passwordtwo"
android:layout_width="match_parent"
android:layout_height="70dp"
android:layout_below="@id/usernametwo"
android:layout_marginBottom="5dp"
android:background="#EE00FF"
android:inputType="textPassword"
android:hint="@string/password"/>
<RelativeLayout
android:id="@+id/know"
android:layout_width="match_parent"
android:layout_height="90dp"
android:layout_below="@id/passwordtwo"
android:layout_marginTop="5dp">
<Button
android:id="@+id/denglutwo"
android:layout_width="170dp"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:text="@string/denglu"
android:textColor="#3D4C6B"
android:textSize="20sp"/>
<Button
android:id="@+id/zhucetwo"
android:layout_width="100dp"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:text="@string/zhuce"
android:textColor="#44AA44"
android:textSize="20sp"/>
</RelativeLayout>