Android开发技巧之使用weight属性实现控件的按比例分配空间

从今天开始,把看书时候的知识点整理成博客,

这个比较简单,估计有经验的都用过,weight属性

在做Android布局的时候,经常遇到需要几个控件按比例分配空间的情况

比如下图效果

在底部设置两个button,占据底部宽度一部分的同时,保持1:3的比例,

当然了,这么难看的布局用处不大,仅是用来说明weight的用法

布局代码如下:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:weightSum="6"
    android:gravity="bottom|center_horizontal" >

    <Button
        android:id="@+id/bn_main_left"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="left" />

    <Button
        android:id="@+id/bn_main_right"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="3"
        android:text="right" />

</LinearLayout>

其中LinearLayout里面有个weightSum,这个属性是用来设置LinearLayout的weight总和,

Button里面的layout_weight就是用来设置button占据LinearLayout的空间的大小

形象一点说,LinearLayout像一个盒子,weightSum设置了盒子的大小为6,

往盒子里放了两个button,给左边button设置layout_weight="1",占据1/6空间,

右边button设置了layout_weight="3",占据3/6空间

这样两个button加起来占据了LinearLayout的4/6,

如果没有给LinearLayout设置weightSum的话,则默认为所有控件layout_weight的总和.

作者:jason0539

微博:http://weibo.com/2553717707

博客:http://blog.csdn.net/jason0539(转载请说明出处)

Android开发技巧之使用weight属性实现控件的按比例分配空间

时间: 2024-08-24 07:35:46

Android开发技巧之使用weight属性实现控件的按比例分配空间的相关文章

Android之使用weight属性实现控件的按比例分配空间

从今天開始,把看书时候的知识点整理成博客, 这个比較简单,预计有经验的都用过,weight属性 在做Android布局的时候,常常遇到须要几个控件按比例分配空间的情况 比方下图效果 在底部设置两个button,占领底部宽度一部分的同一时候,保持1:3的比例, 当然了,这么难看的布局用处不大,仅是用来说明weight的使用方法 布局代码例如以下: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android&q

Android开发技巧——定制仿微信图片裁剪控件

拍照--裁剪,或者是选择图片--裁剪,是我们设置头像或上传图片时经常需要的一组操作.上篇讲了Camera的使用,这篇讲一下我对图片裁剪的实现. 背景 下面的需求都来自产品. 裁剪图片要像微信那样,拖动和放大的是图片,裁剪框不动. 裁剪框外的内容要有半透明黑色遮罩. 裁剪框下面要显示一行提示文字(这点我至今还是持保留意见的). 在Android中,裁剪图片的控件库还是挺多的,特别是github上比较流行的几个,都已经进化到比较稳定的阶段,但比较遗憾的是它们的裁剪过程是拖动或缩放裁剪框,于是只好自己

android开发 软键盘出现后 防止EditText控件遮挡 整体平移UI

在EditText控件接近底部的情况下 软键盘弹出后会把获得焦点的EditText控件遮挡 无法看到输入信息 防止这样的情况发生 就需要设置AndroidManifest.xml的属性 前面的xml信息省略 在activity中 增加android:windowSoftInputMode="adjustPan" <activity ........................................................ android:windowSoft

android开发 软键盘出现后 防止EditText控件遮挡 总体平移UI

在EditText控件接近底部的情况下 软键盘弹出后会把获得焦点的EditText控件遮挡 无法看到输入信息 防止这种情况发生 就须要设置AndroidManifest.xml的属性 前面的xml信息省略 在activity中 添加android:windowSoftInputMode="adjustPan" <activity ........................................................ android:windowSoftI

Android开发之动态创建布局文件及控件

日常开发过程当中,有些页面往往比较小,我们需要展示一些信息,这个时候我们伟哥快读,就需要在代码中进行页面的绘制,就是通过编码的方式来实现布局. <pre name="code" class="java">LinearLayout linearLayout = new LinearLayout(this); textView tv=new TextView(this); linearLayout.addView(tv); import android.su

Android开发技巧——大图裁剪

本篇内容是接上篇<Android开发技巧--定制仿微信图片裁剪控件> 的,先简单介绍对上篇所封装的裁剪控件的使用,再详细说明如何使用它进行大图裁剪,包括对旋转图片的裁剪. 裁剪控件的简单使用 XML代码 使用如普通控件一样,首先在布局文件里包含该控件: <com.githang.clipimage.ClipImageView xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+i

Android 开发技巧总结(三)

1.在界面中按返回键判断某个控件的可见性,如果可见,则用动画让其消失,应用并不退出. Onkeydown方法中: if(keyCode == 4){ if(slidingMenu.getVisibility() == View.VISIBLE){ //退出的动画 AnimationSet animationSet = new AnimationSet(true); TranslateAnimation animation = new TranslateAnimation(0,-280, 0, 0

Android开发技巧——自定义控件之自定义属性

Android开发技巧--自定义控件之自定义属性 掌握自定义控件是很重要的,因为通过自定义控件,能够:解决UI问题,优化布局性能,简化布局代码. 上一篇讲了如何通过xml把几个控件组织起来,并继承某个ViewGroup子类,把它们封装起来使用.这是我们接触到的最简单的一种自定制控件了.但许多时候,我们还需要在布局文件中使用它们的时候,能通过属性传入一些值,来影响最终的显示结果. 我们在做项目中经常会遇到的一个情况:一张图片加一个文本的组合.比如充值账户成功之后显示的一个界面,上面是一个表示成功的

Android 开发技巧总结(二)

1.首选项的存取数据 写一个类,里面放入存取方法,然后在外面进行调用 public class PrefsUtils { private static final String PREFS_NAME="com.yomoto.util.OtherPrefs"; //这里放入的名字存入的地址是:data/data/项目包名/shared_prefs/PREFS_NAME //得到首选项中的数据 public static String getValue(Context context,St