Android布局居中的几种做法
Android的布局文件中,如果想让一个组件(布局或View)居中显示在另一个布局(组件)中,可以由这么几种做法:
- android:layout_gravity
- android:gravity
- android:layout_centerInParent
layout_gravity
android:layout_gravity ,用来指定当前组件(布局或View)在父组件(布局)中的位置,父布局应该是LinearLayout或者它的后裔。
layout_gravity取值可能是:
- top
- bottom
- left
- right
- center_vertical
- fill_vertical
- center_horizontal
- fill_horizontal
- center
- fill
- clip_vertical
- clip_horizontal
- start
- end
与居中相关的已经粗体标注出来。各种取值的具体含义,参看:
https://developer.android.com/reference/android/widget/LinearLayout.LayoutParams.html 。
gravity
android:gravity 是View的属性,用来指定View的子组件在View中的位置。适用于所有的View和布局。它的取值有很多,具体参见: https://developer.android.com/reference/android/view/Gravity.html 。
与居中相关的取值:
- center
- center_horizontal
- center_vertical
当你设定一个布局 android:gravity="center" 时,它的子组件就会居中。当你设定一个View android:gravity="center" 时,它的内容会居中,以TextView为例,文字会居中。
layout_centerInParent
android:layout_centerInParent 是RelativeLayout的布局属性,如果一个组件(布局或View)的父布局是RelativeLayout,就可以使用这个属性来居中。其取值为 true 或 false 。
与其类似的还有:
- android:layout_centerHorizontal
- android:layout_centerVertical
具体含义和用法参看: https://developer.android.com/reference/android/widget/RelativeLayout.LayoutParams.html 。
以上就是对Android 布局居中的几种方法整理,后续继续补充相关资料,谢谢大家对本站的支持!
相关推荐
-
Android string-array数据源简单使用
在Android中,用string-array是一种简单的提取XML资源文件数据的方法. 例子如下: 把相应的数据放到values文件夹的arrays.xml文件里 <?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="city"> <item>厦门市</item> <item>福州市&l
-
Android6.0 屏幕固定功能详解
可能大家看到这个标题不知道是什么东西,我先说明下,android6.0在设置->安全->屏幕固定开启后,然后再长按home键出现最近的几个Activity可以选择一个图钉按钮就开启了屏幕固定功能. 屏幕固定开启后,屏幕只能固定在设定的Task上的Activity切换. 一.设置固定屏幕 我们先来看SystemUI/src/com/android/systemui/recents/ScreenPinningRequest.java的代码,这段代码就是长按home键出现几个Activity,然后按
-
Android实现音频条形图效果(仿音频动画无监听音频输入)
音频条形图 如下图所示就是这次的音频条形图: 由于只是自定义View的用法,我们就不去真实地监听音频输入了,随机模拟一些数字即可. 如果要实现一个如上图的静态音频条形图,相信大家应该可以很快找到思路,也就是绘制一个个的矩形,每个矩形之间稍微偏移一点距离即可.如下代码就展示了一种计算坐标的方法. for (int i = 0; i < mRectCount; i++) { // 矩形的绘制是从左边开始到上.右.下边(左右边距离左边画布边界的距离,上下边距离上边画布边界的距离) canvas.dra
-
浅谈Android中视图动画的属性与使用
简介 Android动画主要包括视图动画和属性动画,视图动画包括Tween动画和Frame动画,Tween动画又包括渐变动画.平移动画.缩放动画.旋转动画. Tween动画的基本属性 目标 View: 时常 duration; 开始状态 fromXXX; 结束动画 toXXX; 开始时间 startOffset; 重复次数 repeatCount; 时间轴 interpolator(插值器). 代码示例 xml实现 <?xml version="1.0" encoding=&qu
-
Android自定义进度条的圆角横向进度条实例详解
1.本文将向你介绍自定义进度条的写法,比较简单,但还是有些知识点是需要注意的: invalidate()方法 RectF方法的应用 onMeasure方法的应用 2.原理 画3层圆角矩形,底层为黑色,第二层为灰色,最上一层为进度条颜色,示例图如下: 3.效果图 实现圆角进度条还有很多其他方法,比如在Progress控件里填充圆角图片,通过拉伸图片来达到预想的效果,虽然听起来很简单,但实现起来还是有些麻烦的. 4.解说方法 (1)invalidate()方法 invalidate()是用来刷新
-
Android ViewPager 的使用总结
在一个窗口里面添加tab便签,完成便签切换来实现页面的切换,这样的好处是可以在同一个窗口里面有多个页面,这些页面共享同一个窗口的资源,同使用多个窗口来实现这个功能来得更加流畅!! 主要产生的类文件有activity,n个view,adapter,自定义的ViewPager,n+1个布局文件 demo所用到文件 步骤: 创建activity package com.example.myviewpager; import java.util.ArrayList; import java.util.L
-
Android Studio查看Android 5.x源码的步骤详解
关于Android Studio的好处我就不用说了,下面两点就足矣让你转投Android Studio了: 1.Android Studio是Google官方指定的,目前官网已经去掉了ADT, 大家可以在Android开发者官网 中进行查看,目前只有Android Studio提供下载了. 2.Google也表示ADT不再进行维护了. 转投Android Studio时大势所趋,网上关于如何使用Android Studio的帖子也是满天飞,所以我就不再啰嗦夸奖Android Studio了. 这
-
Android this与Activity.this的区别
写语句的时候有两种情况: Toast.makeText(AlarmActivity.this,"闹钟取消", Toast.LENGTH_SHORT); <pre name="code" class="java">Toast.makeText(this,"闹钟5秒后启动", Toast.LENGTH_SHORT); 用英文在google搜what's difference between this and Activ
-
Android布局居中的几种做法
Android的布局文件中,如果想让一个组件(布局或View)居中显示在另一个布局(组件)中,可以由这么几种做法: android:layout_gravity android:gravity android:layout_centerInParent layout_gravity android:layout_gravity ,用来指定当前组件(布局或View)在父组件(布局)中的位置,父布局应该是LinearLayout或者它的后裔. layout_gravity取值可能是: top bot
-
Android布局中gravity与layout_gravity属性说明
目录 gravity与layout_gravity属性 1.gravity 2.layout_gravity属性 3.相对布局中的layout_center属性 总结 gravity与layout_gravity属性 在android布局中,我们经常会用到“重心”-gravity这个属性. 但是gravity有不同的类型: gravity layout_gravity 相对布局中的layout_center等属性 今天我们就来具体说说. 1.gravity gravity属性是对控件自身内容对自
-
Android布局之GridLayout网格布局
网格布局标签是GridLayout.这个布局是android4.0新增的布局.这个布局只有4.0之后的版本才能使用. 不过新增了一些东东 ①跟LinearLayout(线性布局)一样,他可以设置容器中组件的对齐方式 ②容器中的组件可以跨多行也可以跨多列(相比TableLayout直接放组件,占一行相比较) 因为是android 4.0新增的,API Level 14,在这个版本以前的sdk 都需要导入项目,等下会详细介绍 常用属性: 排列对齐: ①设置组件的排列方式: android:ori
-
Android布局(RelativeLayout、TableLayout等)使用方法
本文介绍 Android 界面开发中最基本的四种布局LinearLayout.RelativeLayout.FrameLayout.TableLayout 的使用方法及这四种布局中常用的属性. LinearLayout 线性布局,布局中空间呈线性排列 RelativeLayout 相对布局,通过相对定位的方式,控制控件位置 FrameLayout 帧布局,最简单的布局,所有控件放置左上角 TableLayout 表格布局,以行列方式控制控件位置 四种布局示例 1.LinearLayout <Li
-
Android布局案例之人人android九宫格
人人android是人人网推出的一款优秀的手机应用软件,我们在使用的时候发现他的首页布局是九宫格模式的,让人觉得很别致,因为现在很多的 android软件很少使用这种布局模式,人人android使用的很成功,使人觉得简洁大方美观,下面我们来看看人人android的布局 其实这种布局是使用了一种叫"GridView"的表格布局,下面我来给大家讲一下: 首先,请大家理解一下"迭代显示"这个概念,这个好比布局嵌套,我们在一个大布局里面重复的放入一些布局相同的小布局,那些重
-
Android View移动的3种方式总结
前言 在Android开发中,View一直是Android开发人员的一块心病,一方面想要进阶,一方面又害怕进阶,可以说Android的View是进阶路上的最大绊脚石,因为它涉及的东西太多了,比如本次我们此次要写的View移动,另外还包括View的触摸事件的传递,创建自定义View,这些都是极其重要且不得不面对的难题.但是无论如何,现在不克服的困难将来就会被困难克服. 在此之前,我们还是先了解Android坐标系的定义规则以及View的一些位置参数. Android坐标系 View的位置及大小是由
-
Android开发必知 九种对话框的实现方法
在开发过程中,与用户交互式免不了会用到对话框以实现更好的用户体验,所以掌握几种对话框的实现方法还是非常有必要的.在看具体实例之前先对AlertDialog做一个简单介绍.AlertDialog是功能最丰富.实践应用最广的对话框,它可以生成各种内容的对话框.但实际上AlertDialog生成的对话框总体可分为以下4个区域:图标区.标题区.内容区.按钮区. 这里总结了九种对话框的实现方法,有需要的朋友可以来学习下了 除了popupwindow实现稍微麻烦一点,其他形似都相对简单,熟悉2便即可 直接上
-
Android布局优化之ViewStub控件
ViewStub是Android布局优化中一个很不错的标签/控件,直接继承自View.虽然Android开发人员基本上都听说过,但是真正用的可能不多. ViewStub可以理解成一个非常轻量级的View,与其他的控件一样,有着自己的属性及特定的方法.当ViewStub使用在布局文件中时,当程序inflate布局文件时,ViewStub本身也会被解析,且占据内存控件,但是与其他控件相比,主要区别体现在以下几点: 1.当布局文件inflate时,ViewStub控件虽然也占据内存,但是相相比于其他控
-
Android TextView对齐的两种方法
Android TextView对齐的两种方法 在写Android布局文件时, 经常碰到如下图的TextView左右对齐的情况, 即姓名和手机号码纵向对齐.. 第一种方法: 在姓和名之间加空格, 但是如果用键盘的空格会在一些机型上对齐.一些机型上不对齐. \u3000是全角空格: \u0020是半角空格,效果跟在英文输入法下直接敲键盘空格一样. 这里要用全角空格, 占位一个汉字. <TextView android:layout_width="wrap_content" a
-
Android BottomSheet效果的两种实现方式
本文介绍了Android BottomSheet效果的两种实现方式,分享给大家,具体如下: BottomSheet效果 BottomSheet的效果是指从屏幕底部向上滑的效果,是MaterialDesign风格的一种,视觉效果如下: BottomSheet效果 实现这种效果有几种不同的方式,如果是在一个固定的页面上添加这种效果,可以在该页面布局中添加BoottomSheet相关的控件.如果是作为通用控件来提供给不同页面使用,则可以使用BottomSheetDialog实现,本文将对两种方法进行讲
随机推荐
- 文字应用css滤镜集锦
- VBS利用SendKeys输入中文字符的方法
- js 弹出框只弹一次(二次修改之后的)
- AngularJS基础学习笔记之控制器
- 使用 JavaScript 创建可维护的幻灯片效果代码第1/3页
- 正则表达式 表示 非指定字符串开头的正则
- php实现数组筛选奇数和偶数示例
- Mysql表,列,库增删改查问题小结
- js设置文本框中焦点位置在最后的示例代码(简单实用)
- jQuery实现在textarea指定位置插入字符或表情的方法
- jQuery中on绑定事件后引发的事件冒泡问题如何解决
- 详解MongoDB中用sharding将副本集分配至服务器集群的方法
- Jquery使用val方法读写value值
- 微信小程序微信支付接入开发实例详解
- 新兴木马NameLess BackDoor复仇记(图)
- E网星空为您提供1G免费ASP空间服务
- java使用观察者模式异步短信/邮箱提醒用户群
- Android UI开发中所遇到的各种坑
- python实现寻找最长回文子序列的方法
- 对python csv模块配置分隔符和引用符详解