`
01jiangwei01
  • 浏览: 542947 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

安卓课程八 线性布局

 
阅读更多

什么是线性布局

    线性布局是最简单,Android开发者使用得最多的布局类型之一,开发者用它来组织你们的用户界面上的控件。线性布局的作用就像它的名字一样:它将控件组织在一个垂直或水平的形式。当布局方向设置为垂直时,它里面的所有子控件被组织在同一列中;当布局方向设置为水平时,所有子控件被组织在一行中。

    线性布局可以在XML布局资源文件中定义,也可以用Java代码在程序中动态的定义。

常用属性:

layout_width 布局的宽度
layout_height 布局的高度
orientation 布局的方向(横向,纵向显示)

  下面展示了一个包含7个TextView控件的线性布局。这个线性布局方向被设置为垂直,导致每个TextView控件被显示在一列当中。每一个TextView控件的文本属性都是一个颜色值,背景色就是这个颜色;通过将控件的layout_width属性设置为fill_parent,每个控件都拉伸到屏幕宽度.

   用XML布局资源定义线性布局

  设计程序用户界面最方便和可维护的方法是创建XML布局资源。这个方法极大地简化了UI设计过程,它将很多静态创建和用户界面控件的布局以及控件属性的定义移到了XML中,而不是写代码。

       XML布局资源必须被存储在项目目录的/res/layout下。让我们看看彩虹线性布局。这个屏幕基本上就是一个设置为铺满整个屏幕的垂直线性布局,这通过设置它的layout_width和layout_height属性为fill_parent来实现。适当地将其命名为/res/layout/rainbow.xml,XML定义如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="fill_parent" 
	android:layout_height="fill_parent"
    android:orientation="vertical"
    tools:context=".MainActivity" >
   <TextView 
	android:text="@string/red"
	android:id="@+id/TextView01"
	android:layout_height="wrap_content" 
	android:background="#f00"
	android:layout_width="fill_parent" 
	android:layout_weight=".14"
	android:gravity="center" 
	android:textColor="#000">
	</TextView>
	<TextView 
	android:text="@string/orange" 
	android:id="@+id/TextView02"
	android:layout_height="wrap_content" 
	android:layout_width="fill_parent"
	android:layout_weight=".15" 
	android:background="#ffa500"
	android:gravity="center" 
	android:textColor="#000">
	</TextView>
	<TextView 
	android:text="@string/YELLOW" 
	android:id="@+id/TextView03"
	android:layout_height="wrap_content" 
	android:layout_width="fill_parent"
	android:layout_weight=".14" 
	android:background="#ffff00"
	android:gravity="center" 
	android:textColor="#000">
	</TextView>
	<TextView android:text="@string/GREEN" 
	android:id="@+id/TextView04"
	android:layout_height="wrap_content" 
	android:layout_width="fill_parent"
	android:layout_weight=".15" 
	android:background="#0f0" 
	android:gravity="center"
	android:textColor="#000">
	</TextView>
	<TextView android:text="@string/BLUE" 
	android:id="@+id/TextView05"
	android:layout_height="wrap_content" 
	android:layout_width="fill_parent"
	android:layout_weight=".14" 
	android:background="#00f" 
	android:gravity="center"
	android:textColor="#fff">
	
	</TextView>
	<TextView android:text="@string/INDIGO" 
	android:id="@+id/TextView06"
	android:layout_height="wrap_content" 
	android:layout_width="fill_parent"
	android:layout_weight=".14" 
	android:background="#4b0082"
	android:gravity="center" 
	android:textColor="#fff">
	</TextView>
	<TextView android:text="@string/VIOLET" 
	android:id="@+id/TextView07"
	android:layout_height="wrap_content" 
	android:layout_width="fill_parent"
	android:layout_weight=".14" 
	android:background="#ee82ee"
	android:gravity="center" 
	android:textColor="#000">
	</TextView>
</LinearLayout>
    

 用程序动态定义线性布局

你也可以通过程序来创建和配置线性布局。这通过LinearLayout(android.widget.LinearLayout)类来实现。你能在LinearLayout.LayoutParams类中找到子级细节。同样地,典型的布局参数(android.view.ViewGroup.LayoutParams),如layout_height和layout_width, 以及边距参数(ViewGroup.MarginLayoutParams)也能用在LinearLayout对象上。

下面的代码示例了如何用程序在Activity中实例化一个线性布局并在它的onCreate()方法中将三个TextView对象放入其中:

               TextView tv1 = new TextView(this);
		tv1.setText("FIRST"); 
		tv1.setTextSize(20); 
		tv1.setGravity(Gravity.CENTER); 
		TextView tv2 = new TextView(this); 
		tv2.setTextSize(20); 
		
		tv2.setGravity(Gravity.CENTER); 
		tv2.setText("MIDDLE"); 
		TextView tv3 = new TextView(this); 
		tv3.setTextSize(20); 
		
		tv3.setGravity(Gravity.CENTER); 
		tv3.setText("LAST"); 
		LinearLayout ll = new LinearLayout(this); 
		ll.setOrientation(LinearLayout.VERTICAL);

		ll.setLayoutParams(new ViewGroup.LayoutParams (ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)); 
		ll.setGravity(Gravity.CENTER); 
		ll.addView(tv1); 
		ll.addView(tv2); 
		ll.addView(tv3); 
		
		setContentView(ll);

 探讨线性布局的重要特性和属性

现在让我们来看看有助于配置线性布局和它的子控件的一些重要属性。
 
 一些特别的属性应用到线性布局。你会使用到线性布局最重要的属性包括:
 •方向属性(必须),android:orientation="vertical" 取值可以是vertical或horizontal(类:LinearLayout)
 •对齐属性(可选),android:layout_gravity,控制子控件在线性布局中如何排列和显示(类:LinearLayout)
 •layout_weight属性(可选,应用到每个子控件)指定每个子控件在父级线性布局中的相对重要性(类:LinearLayout.LayoutParams)
 
  此外,通用的ViewGroup-style属性也应用到线性布局。这些属性包括:
 •通用布局参数如layout_height (必须)和layout_width (必须) (类:ViewGroup.LayoutParams)
 •边距布局参数如margin_top,margin_left,margin_right和margin_bottom (类:ViewGroup. MarginLayoutParams)
 •布局参数如layout_height和layout_width (类:ViewGroup.LayoutParams)

分享到:
评论

相关推荐

    Android课程实验-线性布局实验-限制布局实验-表格布局实验-自制的浏览器.zip

    在本压缩包“Android课程实验-线性布局实验-限制布局实验-表格布局实验-自制的浏览器.zip”中,包含了多个Android开发相关的实验项目,这些项目涵盖了Android UI设计的基础元素和核心概念。以下是对每个实验项目的...

    安卓课程表源码

    【安卓课程表源码】是一个非常适合初学者和进阶者实践的Android开发项目,它提供了一个实际应用的案例,帮助开发者提升在Android平台上的编程技能。这个项目的主要目标是实现一个用户友好的课程表应用,让用户能够...

    安卓课程设计.doc

    此次课程设计是在Android平台下,用Android studio软件实现了电子书阅读器APP系统,本人实现多功能阅读界面设置和阅读器主界面设置。包括目录与章节游览、设置字体样式、字体大小与颜色调整、背景颜色调整、整体软件...

    android课程表程序

    - **布局管理器**:程序可能使用了线性布局(LinearLayout)、相对布局(RelativeLayout)或约束布局(ConstraintLayout)来组织UI元素,使得屏幕内容有序且适应不同屏幕尺寸。 - **自定义控件**:为了提供独特...

    Android课程色设计源码正方教务通用安卓客户端项目

    【Android课程色设计源码正方教务通用安卓客户端项目】是一个专为教育机构或学校设计的Android应用程序,旨在提供一个高效、便捷的教务管理平台。该项目的源码提供了全面的功能实现,对于学习Android应用开发,特别...

    Android课程设计简单实用课程表项目

    【Android课程设计简单实用课程表项目】是一个针对Android平台的学习项目,旨在帮助学生或开发者实践Android应用开发,尤其是关于日程管理和课程管理方面的功能。这个项目可能会涵盖以下几个关键知识点: 1. **...

    Android程序技术:常见布局的创建.pptx

    Android 程序技术 本节课程内容:布局的创建和类型 PART 1 2.1 .1 布局的创建 常见布局的创建 关于布局 ...线性布局(LinearLayout)主要以水平或垂直方式来显示界面中的控件。当控件水平排列时,显

    【视频8】UI线性布局

    1.本套课程包括Android的核心UI界面设计和后端代码实现,将内容显示在UI界面中。 2.重要涉及UI界面多种点击事件,数据获取,列表,网络接口请求数据,多线程,Handler数据传递,Json数据解析及LitePal数据库使用。 3...

    【视频9】UI线性布局嵌套

    1.本套课程包括Android的核心UI界面设计和后端代码实现,将内容显示在UI界面中。 2.重要涉及UI界面多种点击事件,数据获取,列表,网络接口请求数据,多线程,Handler数据传递,Json数据解析及LitePal数据库使用。 3...

    杭电公选课 安卓开发课程作业

    常见的布局类型有线性布局、相对布局、网格布局和帧布局等。学生们会学习如何创建和调整这些布局,以实现美观且易用的界面设计。 2. **Activity切换**: Activity是Android应用的基本单元,代表一个用户可见的屏幕...

    Android游戏-动物连连看游戏源码(java实现,可作学习及课设使用,附运行教程)

    这个程序非常适合初学者学习安卓开发,也可以供大家自行娱乐,或者作为课程设计项目。(2)使用Java语言编写,采用了安卓开发的基础框架,包括活动(Activity)、意图(Intent)、广播接收器(Broadcast Receiver)...

    基于android系统的课程表(源码+文档).rar

    2. **布局管理**:Android使用XML来定义界面布局,如线性布局、相对布局、网格布局等,以实现用户界面的创建。 3. **活动(Activity)**:Android应用的基本组件,代表用户可以看到和交互的一个屏幕。课程表应用中...

    Android实现聊天机器人——课程设计报告,优秀课设

    activity_main布局文件包含了整个聊天界面,使用线性布局组织元素,包括聊天窗口、ListView和输入区域。chatting_left_item文件则定义了机器人消息的显示样式,包括头像和文本内容。而chatting_right_item可能对应...

    Android开发高仿课程表的布局实例详解

    `LinearLayout`是一个线性布局,它可以按照垂直或水平的方式排列子视图,非常适合用于创建列表或表单这样的线性布局。 1. **页面布局结构** - 页面整体分为两个部分,分别放置在`LinearLayout`的上下区域。上部...

    Android 系统知识总结+培训课程+笔记

    Android的用户界面(UI)构建基于XML布局文件,理解各种布局类型如线性布局、相对布局、网格布局等是创建交互式应用的关键。同时,学习如何使用Material Design指南来提升应用的设计感也是必不可少的。 四、Android...

    ANDROID10天课程授课文档

    **布局与UI设计**,Android使用XML进行界面布局定义,包括线性布局、相对布局、约束布局等。学习者需掌握各种控件的使用,如TextView、EditText、Button等,以及如何通过样式和主题定制UI。 **Android资源管理**,...

    Android课程设计—简易音乐播放器

    【Android课程设计—简易音乐播放器】 在Android平台上开发一个简易音乐播放器是一项常见的课程设计任务,它旨在帮助学生深入理解Android应用开发的基本原理和技术。这个项目的核心目标是实现一个功能齐全、用户...

    Android课程老师布置的一些课程代码实现.zip

    1. **基本布局与UI设计**:Android应用的基础是用户界面(UI),学生们可能会用到XML布局文件来创建活动(Activity)、碎片(Fragment)的界面结构,如线性布局(LinearLayout)、相对布局(RelativeLayout)、网格...

    安卓Android精品课程在线学习系统app设计毕业源码案例设计.zip

    标题"安卓Android精品课程在线学习系统app设计毕业源码案例设计.zip"揭示了这个压缩包的内容,它包含了一个基于Android平台的在线学习应用的完整源码,是针对Android开发的毕业设计或课程设计项目。这个app可能是...

    Android课程1到12章所有英语单词

    - **线性布局(LinearLayout)**:按照垂直或水平方向排列子视图。 - **相对布局(RelativeLayout)**:视图相对于其他视图的位置进行定位。 - **帧布局(FramLayout)**:每个子视图都在帧的顶部,可能会覆盖...

Global site tag (gtag.js) - Google Analytics