先看如下布局 :


上图中,按钮的大小为屏幕的一半,然后居中显示在布局中央,每个人心中都有自己的答案,看看我的方法吧,布局布局xml如下 :

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:id="@+id/main_layout"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:baselineAligned="false"    android:gravity="center"    android:orientation="horizontal"    android:weightSum="1" >     <!-- 1.将LinearLayout的layout_weight设置为1 -->    <!-- 2.将Button的layout_width设为0dp, 并且将layout_weight设置为0.5 -->    <Button        android:layout_width="0dp"        android:layout_height="wrap_content"        android:layout_weight="0.5"        android:textSize="13sp"        android:text="@string/button_text" >    </Button></LinearLayout>
这里有几个关键点:

  1. 布局为LinearLayout,以便可以设置layout_weight;
  2. 设置LinearLayout的android:weightSum的值为1;
  3. 将Button的layout_width设置为0dp;
  4. 将Button的layout_weight的值设置为0.5, 即上面的android:weightSum的一半。
通过上面的设置就可以实现上图中的布局了。子空间的宽度算法可以参考如下公式, 子控件宽度 = 子控件layout_width + 子控件的layout_weight * 父控件的宽度 / 父控件的layout_weight, 对比上面的例子就是子控件的宽度 = 0.5 * 父控件的宽度 / 1 = 父控件宽度 * 0.5, 因为父控件的宽度为match_parent,所以父控件宽度的宽度为整个屏幕的宽度,所以子控件的宽度 = 0.5 * 整个屏幕的宽度 = 半屏宽度。


更多相关文章

  1. android的动画相关参数说明
  2. Android评论功能的实现
  3. ReactNative之Android绝对布局position:'absolute'问题
  4. Android(安卓)Reveal圆形Activity转场动画
  5. Android开发艺术探索笔记 第四章 View的工作原理
  6. Android四大控件之Activity详解:实践篇
  7. Android中Fragment的使用
  8. Android(安卓)中自定义View的应用.
  9. Android圆形进度条控件-CircleSeekBar

随机推荐

  1. php两个二维数组根据某个字段相同重新组
  2. android将图片保存到系统相册
  3. Android(安卓)Platform 3.0 SDK和Eclipse
  4. Android(安卓)如何增大开机铃声 M
  5. android activity-alias
  6. [安卓问题]如何制作Jar包并在android中调用
  7. android 新浪微博认证
  8. Android(安卓)Sensor 架构深入剖析
  9. Android(安卓)接入阿里反馈 (基础版)
  10. android popupwindow 模拟新浪、腾讯titl