android,布局总结(常用布局规律)

1.在使用Relativelayout的时候,在给Relativelayout设置属性:
android:gravity="center_vertical"的时候,容器的子view里面高度最高的是垂直居中,
其他相对比较矮的子view就靠着最高的子view顶部布局。
2.在Relativelayout的时候,如果、Relativelayout使用了android:gravity的时候,
比如:android:gravity:"center:vertical",那么子view使用android:layout_alignparentbottom
会导致父view的gravity属性失效,而且会影响到其他子view.

总结在使用RelativeLayout布局的时候,如果子view 有多个,需要所有字view水平垂直居中
那么有两种办法:
1.父view不加android:gravity="center-vertical",每个子view都加上一个android:
layout_centervetical="true"的属性即可.

如下:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="250dp"
android:background="#000">
<TextView
android:id="@+id/mydd"
android:layout_width="50dp"
android:layout_height="90dp"
android:background="#666"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:text="哈哈"
/>
<TextView
android:id="@+id/dd2"
android:layout_width="60dp"
android:layout_height="60dp"
android:background="#888"
android:layout_centerVertical="true"

android:layout_toLeftOf="@id/mydd"
android:text="哈哈"
/>
<ImageView
android:layout_width="50dp"
android:layout_height="40dp"
android:layout_centerVertical="true"
android:layout_toLeftOf="@id/dd2"
android:src="@android:drawable/btn_default"
/>
</RelativeLayout>

2.父view加上android:gravity="center-vertical",每个子view加上android:gravity
="center-vertical",然后根据android:alignBaseline来居中。(适合子view可以设置gravity
的view)

代码如下:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="250dp"
android:background="#000"
android:gravity="center_vertical">
<TextView
android:id="@+id/mydd1"
android:layout_width="50dp"
android:layout_height="90dp"
android:background="#666"
android:gravity="center_vertical"
android:layout_alignParentRight="true"
android:text="哈哈"
/>
<TextView
android:id="@+id/ddd"
android:layout_width="60dp"
android:layout_height="60dp"
android:background="#888"
android:gravity="center_vertical"
android:layout_toLeftOf="@id/mydd1"
android:text="哈哈"
android:layout_alignBaseline="@id/mydd1"></TextView></RelativeLayout>

时间: 2024-09-27 13:00:35

android,布局总结(常用布局规律)的相关文章

Android基础:常用布局和数据存储

1. 相对布局RelativeLayout 特点:相对布局所有组件可以叠加在一起:各个组件的布局是独立的,互不影响:所有组件的默认位置都是在左上角(顶部.左部对齐) 属性 功能描述 android:layout_toRightOf 在指定控件的右边 android:layout_toLeftOf 在指定控件的左边 android:layout_above 在指定控件的上边 android:layout_below 在指定控件的下边 android:layout_alignBaseline 跟指定

10天学通Android开发(4)-用户布局与常用控件

常用布局 FrameLayout:子元素没有相对位置概念,都相对于左上角 LinearLayout:线性布局,一个接一个,水平或垂直 RelativeLayout:相对布局,可相对其它子元素 TableLayout:水平和垂直LinearLayout的混和 如: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.andr

Android常用布局类整理(一)

Android常用布局类整理 最近又回头做了一下android的项目,发觉越来越不从心,很多东西都忘了,简单的页面布局也很多写不出来,首先还是先整理一下一些会混淆的概念先 layout_width/layout_height的两种不同的方式 ① wrap_content能包裹其中的内容即可 ② fill_parent/match_parent 填满父视图的空间 LinearLayout 按垂直(vertical)或水平(horizontal)对齐每一个子视图,它包含的子控件将以横向或竖向的方式排

Android 之常用布局

LinearLayout 线性布局. android:orientation="horizontal" 制定线性布局的排列方式 水平 horizontal 垂直 vertical gravity 控制当前控件内容显示区域 layout_gravity 当前控件在父元素的位置 Layout_weightSum Layout_weight 额外空间分配(权重) android:visibility="invisible" 控制布局是否显示 显示 visible 不显示,

android常用布局

一.线性布局LinearLayout 作用:将容器中的组件一个挨一个地排列起来,不仅可以控制各组件横向排列也可以控制各组件纵向排列(通过android:orientation属性控制) 特点:线性布局不会换行当组件一个爱一个地排列到头之后剩余的组件不会显示 属性: android:gravity   设置布局管理器内组件的对齐方式,该属性支持top,bottom,left,right,center_vertical,fill_vertical,center_horizontal,fill_hor

Android代码常用布局

1.线性布局 LinearLayout:       线性布局是所有布局中最常用的类之一,也是RadioGroup, TabWidget, TableLayout, TableRow, ZoomControls类的父类.LinearLayout可以让它的子元素垂直或水平的方式排成一行(不设置方向的时候默认按照垂直方向排列). 举个例子: 1 <?xml version="1.0" encoding="utf-8"?> 2 <LinearLayout

Android突击:常用的五种布局

1,FrameLayout FrameLayout是五大布局中最简单的一个布局,在这个布局中,整个界面被当成一块空白备用区域,所有的子元素都不能被指定放置的位置,它们统统放于这块区域的左上角,并且后面的子元素直接覆盖在前面的子元素之上,将前面的子元素部分和全部遮挡.显示效果如下,第一个TextView被第二个TextView完全遮挡,第三个TextView遮挡了第二个TextView的部分位置. FrameLayout <?xml version="1.0" encoding=&

Android常用布局和控件

一.Android常用布局属性 1. LinearLayout的特有属性 android:orientation:设置布局排列方式   android:layout_weight:设置所占布局的权重   android:weightSum:设置最大权重和 2. RelativeLayout的特有属性 属性值为“true”或“false”android:layout_centerHrizontal:位于父控件的横向中间位置android:layout_centerVertical:位于父控件的纵向

Android中常用布局

 1.线性布局  LinearLayout         orientation:方向:vertical,垂直:horizontal,水平         gravity:对齐方式,子控件相对于当前控件的对齐方式         layout_gravity:当前控件相对于父控件的对齐方式         margin:当前控件相对于四周的间距.         padding:当前控件中的子控件相对于当前控件四周的间距. 2.相对布局  RelativeLayout 都是从左上角开始布局,要

Android开发-之五大布局

在html中大家都知道布局是什么意思了,简单来说就是将页面划分模块,比如html中的div.table等.那么Android中也是这样的.Android五大布局让界面更加美化,开发起来也更加方便.当然布局方式不一样应用的地方也不一样,当然了有的布局方式也是可以相互转换和嵌套使用的.它们都各有各的优缺点,具体页面要怎么布局还是得看开发需求,但是用的最多的还是相对布局.线性布局以及相对布局和线性布局的嵌套使用.当然,我说的是安卓,并没有指定是安卓手机,比如平板.智能家居(电视...)很多都是Andr