最近做的项目主要是对AndoirdApp的UI进行布局优化,由于Android基础孱弱,在布局的时候对一些容易混淆的概念不是很清晰,因此经常花很多时间去调一些本来很简单的布局。现在进行一点简单总结,省得以后再犯。

1. android:gravity / android:layout_gravity / android:layout_weight
android:gravity 用来设置视图,可以设置为left、center、right等等值。比如在一个EditText空间中将gravity设为right,那么它里面的文字就会局右显示。


android:layout_graivity 用来设置容器,值也可以设置为left、center等。比如讲一个EditText的layout_gravity属性设置为right,那么整个EditText空间就会位于它的父容器的右边。


android:layout_weight 用来设置视图,它可以来分配一个控件相对于容器中其他控件的大小重要性。假设一个容器有3个控件,layout_weight值为1(最高值),而其他控件的值为0。这时,值为1的控件将占用容器中的空白空间。


2. android:padding / android:layout_margin

android:padding:用来设置视图的外边界和其中显示的内容之间的距离。

 

android:layout_margin:用来设置控件边界相对于其父容器边界的距离。

 

与之对应的还有android:paddingBottomandroid:paddingLeftandroid:paddingRightandroid:paddingTop以及android:layout_marginLeft, android:layout_marginRight, android:layout_marginTop, android:layout_marginBottom。

 

 

 

 

这两者的关系与android:gravity/android:layout_gravity之间的关系是一样的,一个用于视图,一个用于容器。


3. 如果要强制界面横屏显示,可以在onCreate函数里面加入如下代码

 

import android.content.pm.ActivityInfo;...setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

 

4. 全屏显示:

this.requestWindowFeature(Window.FEATURE_NO_TITLE);this.getWindow().setFlags(WindowManager.LayoutParams.TYPE_STATUS_BAR,                        WindowManager.LayoutParams.TYPE_STATUS_BAR);
 

 

更多相关文章

  1. Android的五大布局
  2. android事件拦截处理机制详解
  3. Android(安卓)开发中 Parcel存储类型和数据容器
  4. Android中在GridView网格视图上实现item拖拽交换的方法
  5. android:layout_weight属性详解
  6. Android(安卓)animation 之视图动画、帧动画、属性动画的简单使
  7. android 自定义view 前的基础知识LayoutInflater layoutInflater
  8. Android布局文件的属性值解析
  9. 一种粗暴快速的Android全屏幕适配方案

随机推荐

  1. python基础编程_12_日期格式的使用和转换
  2. 从零开始部署Django生产环境(适用:《跟老齐
  3. python python 入门学习之网页数据爬虫cn
  4. AttributeError:'Flask'对象没有属性'logi
  5. UnicodeDecodeError: 'gb2312' codec can
  6. python输出斐波那契数列三角形
  7. 是否有一个类似于Python的“枚举”函数的
  8. Python之错误异常和文件处理
  9. 在java中调用python方法
  10. Python知识点整理(基础篇)