首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

Android 布局方式

Android 布局方式

 一、常用布局方式1、FrameLayout    框架布局,依次在四方矩形左上角堆放,后放的在上面,先放的在下面2、LinearLayout    线性布局,分为垂直和水平依次排队放置3、AbsoluteLayout  绝对布局,需要指定左上角的x,y值4、RelativeLayout   相对布局,相对左右上下UI布局5、TableLayout     表格布局,类似表格
  二、FrameLayout框架布局main.xml <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"
    >
  <Button android:text="Button1" android:layout_width="262dp" android:id="@+id/button1" android:layout_height="242dp"></Button> <Button android:text="Button2" android:id="@+id/button2" android:layout_width="142dp" android:layout_height="98dp"></Button> </FrameLayout>
  三、LinearLayout线性布局main.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal"> <Button android:text="Button2" android:layout_width="142dp" android:id="@+id/button2" android:layout_height="98dp"></Button> <Button android:text="Button1" android:id="@+id/button1" android:layout_width="164dp" android:layout_height="163dp"></Button> </LinearLayout>
  四、AbsoluteLayout 绝对布局main.xml <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="horizontal"> <Button android:text="Button1" android:layout_width="164dp" android:layout_height="163dp" android:id="@+id/button1" android:layout_x="52dp" android:layout_y="126dp"></Button> <Button android:text="Button2" android:layout_width="142dp" android:layout_height="98dp" android:id="@+id/button2" android:layout_x="89dp" android:layout_y="6dp"></Button> </AbsoluteLayout>
  五、RelativeLayout 相对布局main.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:padding="10dip">
  <TextView android:id="@+id/label" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="请输入用户名:" />
  <!—— 这个EditText放置在上边id为label的TextView的下边 ——> <EditText android:id="@+id/entry" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@android:drawable/editbox_background" android:layout_below="@id/label" />
  <!—— 取消按钮和容器的右边齐平,并且设置左边的边距为10dip ——> <Button android:id="@+id/cancel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/entry" android:layout_alignParentRight="true" android:layout_marginLeft="10dip" android:text="取消" />
  <!—— 确定按钮在取消按钮的左侧,并且和取消按钮的高度齐平 ——> <Button android:id="@+id/ok" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toLeftOf="@id/cancel" android:layout_alignTop="@id/cancel" android:text="确定" />
  </RelativeLayout>
  六、TableLayout 表格布局main.xml <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:stretchColumns="1"> <TableRow> <TextView android:text="用户名:" android:textStyle="bold" android:gravity="right" android:padding="3dip" /> <EditText android:id="@+id/username" android:padding="3dip" android:scrollHorizontally="true" /> </TableRow> <TableRow> <TextView android:text="登录密码:" android:textStyle="bold" android:gravity="right" android:padding="3dip" /> <EditText android:id="@+id/password" android:password="true" android:padding="3dip" android:scrollHorizontally="true" /> </TableRow> <TableRow android:gravity="right"> <Button android:id="@+id/cancel" android:text="取消" /> <Button android:id="@+id/login" android:text="登录" /> </TableRow> </TableLayout>
  七、动态设置布局LinearLayout layoutMain = new LinearLayout(this);layoutMain.setOrientation(LinearLayout.HORIZONTAL);setContentView(layoutMain);
  八、在布局中加入布局layoutMain.addView(layoutLeft,100,100);layoutMain.addView(layoutRight,relParam);上述代码是在layoutMain布局中加入layoutLeft和layoutRight两个布局1、layoutMain.addView(layoutLeft,100,100);中的100,100是加入布局的高度和宽度2、layoutMain.addView(layoutRight,relParam);中的relParam是布局参数对象,RelativeLayout.LayoutParams relParam = new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.WRAP_CONTENT,RelativeLayout.LayoutParams.WRAP_CONTENT);
  九、获取xml资源文件对应布局LayoutInflater inflate = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);RelativeLayout layoutLeft = (RelativeLayout)inflate.inflate(R.layout.left, null);
  十、其他相关设置android:background="@drawable/blue" //  设置背景android:padding="10dip"          // 边距android:layout_alignParentRight="true" // 与父控件对齐方式android:stretchColumns="1"             // 作用是让第2列可以扩展到所有可用空间android:gravity="right"                // 对齐方式android:scrollHorizontally="true"      // 水平滚动
返回列表