android的LinearLayout

LinearLayout也是ViewGroup的子类,算是个容器了。

两个最重要的xml属性: android:layout_gravity      android:gravity

还有一个属性,是这两个货的爷。android:orientation。

下面来讨论了。

1:		<LinearLayout android:layout_width="fill_parent"
			android:layout_height="100dp"
			android:orientation="vertical">

当布局方向是垂直的时候。就定义了儿子们,你们必须排成竖的。而且是按顺序来,不准插队。。。。。。。

android:gravity     这货也可以叫他爸爸gravity  。专门控制儿子的。控制对儿子的引力。

比如,我想让一排儿子们在左边,在右边,在。。。。。。。一供有9个位置,,,,我没说错吧。

android:layout_gravity       这货是每个儿子对自己引力的控制。

麻痹,android:gravity  不是想让我们排成一排,排的整齐吗。我就不,

<LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center"
        android:orientation="vertical" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="left"
            android:text="nihao" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="nihao" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="nihao" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="nihao" />
    </LinearLayout>

这货就跑到左边去了。它有想了,这尼吗我们一群儿子不还是在垂直方向的中间吗。不行,我要到左上角。好|top。结果呢。还是一样在左中。

也就是爸爸的gravity把一群儿子们限制在这9个位置中。。。。。。如果一个儿子不听话。想跑。也可以。他们的大爷把orientation限制死了。。。儿子你想跑。只能往orientation未设置的方向跑。。。。。我的例子中,只能往水平方向跑。

还有一句话。就是爸爸没设置 android:gravity。怎么办。好办呀。直接给我到左上角去。按个排吧。

可是,这完全满足不了我的需求啊。我有时候不想一个挨一个的排。咋办捏。。。。。。

好吧,android:weightSum       和 android:layout_weight出场了。

第一个是爸爸定义的。我的家产(空间)一共是这些。wrap_content是什么意思呢,就是儿子够吃的(空间)。

第二个,是儿子能分到多少家产(空间),那要是他已近wrap_content了。没事。先占着。

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:gravity="center"
        android:orientation="vertical"
        android:weightSum="5" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="left"
            android:text="nihao1" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="left|top"
            android:text="nihao2" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="nihao3" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="nihao4" />
    </LinearLayout>

时间: 2024-10-11 04:38:12

android的LinearLayout的相关文章

android.widget.FrameLayout$LayoutParams cannot be cast to android.widget.LinearLayout$LayoutParams

java.lang.ClassCastException: android.widget.FrameLayout$LayoutParams cannot be cast to android.widg 时间 2013-09-23 22:36:41  傲慢的上校的专栏原文  http://blog.csdn.net/lilu_leo/article/details/11952717 有时候需要在在代码中设置LayoutParams,自己为一个FrameLayout设置LayoutParams的时候

android 06 LinearLayout

xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > 线性布局,垂直排列 <Button andro

android自定义LinearLayout和View

自定义线性布局经常用到: 第一种是在扩展的LinearLayout构造函数中使用Inflater加载一个布局,并从中提取出相关的UI组件进行封装,形成一个独立的控件.在使用该控件时,由于它所有的子元素都是在运行时通过代码动态创建的,所以该控件只能以一个独立控件的形式在Layout文件中声明,例如: public class CustomLayout extends LinearLayout{ public CustomLayout(Context context){ LayoutInflater

android 给LinearLayout中添加一定数量的控件,并让着一定数量的控件从右到左移动,每隔若干秒停顿一下,最后一个view链接第一个view,然后继续移动循环往复,形成一个死循环简单动画效果

主类:IndexAnimationLinearLayout.java package com.yw.sortlistview; import java.util.ArrayList; import java.util.List; import android.annotation.SuppressLint; import android.content.Context; import android.graphics.Canvas; import android.os.Handler; impo

android布局----LinearLayout布局方式

线性布局,控件成直线方式排列,要么水平排列,要么垂直排列. 对着layout文件夹右键,然后选择新建android xml file,选择资源类型选择 layout --> 根节点选择 LinearLyout <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&qu

Android学习——LinearLayout布局实现居中、左对齐、右对齐

android:orientation="vertical"表示该布局下的元素垂直排列: 在整体垂直排列的基础上想要实现内部水平排列,则在整体LinearLayout布局下再创建一个LinearLayout布局. 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/r

Android开发--LinearLayout的应用

1.简介 LinearLayout为安卓三大常用布局中的线性布局.其中,线性布局又分为水平线性布局和垂直线性布局.视图如下所示:                 水平布局          垂直布局 2.构建 在安卓布局中,往往需要我们进行嵌套布局,以下图为例                             重点如下所示: 2.1 android:orientation="horizontal/ertical":该属性表示布局为水平方式或垂直方式. 2.2 android:la

Android UI: LinearLayout中layout_weight 属性的使用规则

首先来查看android sdk文档,有这么一段话 LinearLayout also supports assigning a weight to individual children with the android:layout_weight attribute. This attribute assigns an "importance" value to a view in terms of how much space is should occupy on the sc

Android中LinearLayout线性布局

android:orientation="vertical"垂直线性布局,"horizontal"水平线性布局 android:gravity="top"(buttom.left.right.center_vertical.fill_vertical.center_horizontal.fill_horizontal.center.fill.clip_vertical.clip_horizontal)控制布局中控件的对齐方式.如果是没有子控件的控

15.Android中LinearLayout布局一些小记录

在App中,我们经常看到布局中会有分割线,直接上代码: 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 3 android:layout_width="match_parent" 4 android:layout_height=