zoukankan      html  css  js  c++  java
  • android用户界面布局管理Layout

    在 Android 中各种布局的应用,以及菜单效果的实现 

    • 各种布局方式的应用,FrameLayout, LinearLayout, TableLayout, AbsoluteLayout, RelativeLayout  
    • 为指定元素配置上下文菜单,为应用程序配置选项菜单,以及多级菜单的实现 



    各种布局方式的演示
    res/layout/main.xml

    代码
    <?xml version="1.0" encoding="utf-8"?>
    <!-- 
    layout_width - 宽。fill_parent: 宽度跟着父元素走;wrap_content: 宽度跟着本身的内容走;直接指定一个 px 值来设置宽
    layout_height - 高。fill_parent: 高度跟着父元素走;wrap_content: 高度跟着本身的内容走;直接指定一个 px 值来设置高
    -->

    <!--
    LinearLayout - 线形布局。
        orientation - 容器内元素的排列方式。vertical: 子元素们垂直排列;horizontal: 子元素们水平排列
        gravity - 内容的排列形式。常用的有 top, bottom, left, right, center 等,详见文档
    -->
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation
    ="vertical" android:gravity="right"
        android:layout_width
    ="fill_parent" android:layout_height="fill_parent">

        
    <!--
        FrameLayout - 层叠式布局。以左上角为起点,将  FrameLayout 内的元素一层覆盖一层地显示
        
    -->
        
    <FrameLayout android:layout_height="wrap_content"
            android:layout_width
    ="fill_parent">
            
    <TextView android:layout_width="wrap_content"
                android:layout_height
    ="wrap_content" android:text="FrameLayout">
            
    </TextView>
            
    <TextView android:layout_width="wrap_content"
                android:layout_height
    ="wrap_content" android:text="Frame Layout">
            
    </TextView>
        
    </FrameLayout>

        
    <TextView android:layout_width="wrap_content"
            android:layout_height
    ="wrap_content" android:text="@string/hello" />

        
    <!--
        TableLayout - 表格式布局。
            TableRow - 表格内的行,行内每一个元素算作一列
            collapseColumns - 设置 TableLayout 内的 TableRow 中需要隐藏的列的列索引,多个用“,”隔开
            stretchColumns - 设置 TableLayout 内的 TableRow 中需要拉伸(该列会拉伸到所有可用空间)的列的列索引,多个用“,”隔开
            shrinkColumns - 设置 TableLayout 内的 TableRow 中需要收缩(为了使其他列不会被挤到屏幕外,此列会自动收缩)的列的列索引,多个用“,”隔开
        
    -->
        
    <TableLayout android:id="@+id/TableLayout01"
            android:layout_width
    ="fill_parent" android:layout_height="wrap_content"
            android:collapseColumns
    ="1">
            
    <TableRow android:id="@+id/TableRow01" android:layout_width="fill_parent"
                android:layout_height
    ="wrap_content">
                
    <TextView android:layout_width="wrap_content"
                    android:layout_weight
    ="1" android:layout_height="wrap_content"
                    android:text
    ="行1列1" />
                
    <TextView android:layout_width="wrap_content"
                    android:layout_weight
    ="1" android:layout_height="wrap_content"
                    android:text
    ="行1列2" />
                
    <TextView android:layout_width="wrap_content"
                    android:layout_weight
    ="1" android:layout_height="wrap_content"
                    android:text
    ="行1列3" />
            
    </TableRow>
            
    <TableRow android:id="@+id/TableRow01" android:layout_width="wrap_content"
                android:layout_height
    ="wrap_content">
                
    <TextView android:layout_width="wrap_content"
                    android:layout_height
    ="wrap_content" android:text="行2列1" />
            
    </TableRow>
        
    </TableLayout>

        
    <!--
        AbsoluteLayout - 绝对定位布局。
            layout_x - x 坐标。以左上角为顶点
            layout_y - y 坐标。以左上角为顶点
        
    -->
        
    <AbsoluteLayout android:layout_height="wrap_content"
            android:layout_width
    ="fill_parent">
            
    <TextView android:layout_width="wrap_content"
                android:layout_height
    ="wrap_content" android:text="AbsoluteLayout"
                android:layout_x
    ="100px" 
                android:layout_y
    ="100px" />
        
    </AbsoluteLayout>

        
    <!--
        RelativeLayout - 相对定位布局。
            layout_centerInParent - 将当前元素放置到其容器内的水平方向和垂直方向的中央位置(类似的属性有 :layout_centerHorizontal, layout_alignParentLeft 等)
            layout_marginLeft - 设置当前元素相对于其容器的左侧边缘的距离
            layout_below - 放置当前元素到指定的元素的下面
            layout_alignRight - 当前元素与指定的元素右对齐
        
    -->
        
    <RelativeLayout android:id="@+id/RelativeLayout01"
            android:layout_width
    ="fill_parent" android:layout_height="fill_parent">
            
    <TextView android:layout_width="wrap_content" android:id="@+id/abc"
                android:layout_height
    ="wrap_content" android:text="centerInParent=true"
                android:layout_centerInParent
    ="true" />
            
    <TextView android:layout_width="wrap_content"
                android:layout_height
    ="wrap_content" android:text="marginLeft=20px"
                android:layout_marginLeft
    ="20px" />
            
    <TextView android:layout_width="wrap_content"
                android:layout_height
    ="wrap_content" android:text="xxx"
                android:layout_below
    ="@id/abc" android:layout_alignRight="@id/abc" />
        
    </RelativeLayout>

    </LinearLayout>


    res/values/strings.xml

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        
    <string name="hello">Hello Layout</string>
        
    <string name="app_name">webabcd_layout</string>
    </resources>


    Main.java

    代码
    package com.webabcd.layout;

    import android.app.Activity;
    import android.os.Bundle;

    public class Main extends Activity {
        
    /** Called when the activity is first created. */
        @Override
        
    public void onCreate(Bundle savedInstanceState) {
            
    super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
        }
    }
  • 相关阅读:
    解决ListView异步加载数据之后不能点击的问题
    android点击实现图片放大缩小 java技术博客
    关于 数据文件自增长 的一点理解
    RAC 实例不能启动 ORA1589 signalled during ALTER DATABASE OPEN
    Linux 超级用户的权利
    RAC 实例 迁移到 单实例 使用导出导入
    Shell 基本语法
    Linux 开机引导与关机过程
    RAC 实例不能启动 ORA1589 signalled during ALTER DATABASE OPEN
    Oracle RAC + Data Guard 环境搭建
  • 原文地址:https://www.cnblogs.com/linzheng/p/1938737.html
Copyright © 2011-2022 走看看