详解Android中weight的使用方法

 更新时间:2016年01月11日 09:20:43   作者:xu佳佳  
这篇文章主要向大家介绍了详解Android中weight的使用方法,感兴趣的小伙伴们可以参考一下

android中对weight的学习可以说是必须的,如果UI布局仅仅使用dp与sp等等,会让布局显得极度不灵活,毕竟各个手机屏幕大小不同,更别说是还有ipad之类的了,所以也是同做本人近期做的一个小UI来分享一下weight的使用。

    

  

左边是各个屏幕的显示效果,右边是1080*1920屏幕的具体显示效果。可以看到,不管屏幕如何变化,使用weight的布局中总是填充满屏幕的,至于美观效果就不说了,直接上代码。

小编使用的android studio,eclipse用户直接复制肯定会有问题,AS用户直接复制修改一下中间的图片便可以用啦。

<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:orientation="vertical"> 
 
  <RelativeLayout 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="0.5" 
    android:background="#7EB345"> 
 
    <Button 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:background="@android:color/transparent" 
      android:drawableLeft="@drawable/left_menu" 
      android:paddingLeft="17dp" /> 
 
    <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_centerInParent="true" 
      android:text="某某科技大学" 
      android:textSize="25sp" /> 
 
    <Button 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:layout_alignParentRight="true" 
      android:background="@android:color/transparent" 
      android:text="登陆" 
      android:textColor="#fff" 
      android:textSize="20sp" /> 
 
  </RelativeLayout> 
 
  <TextView 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="1.5" 
    android:background="@drawable/school" /> 
 
 
  <LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="1" 
    android:orientation="horizontal"> 
 
    <Button 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="1" 
      android:background="@android:color/transparent" 
      android:drawableTop="@mipmap/ic_launcher" 
      android:paddingTop="18dp" 
      android:text="校园新闻" /> 
 
    <Button 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="1" 
      android:background="@android:color/transparent" 
      android:drawableTop="@mipmap/ic_launcher" 
      android:paddingTop="18dp" 
      android:text="学术公告" /> 
 
    <Button 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="1" 
      android:background="@android:color/transparent" 
      android:drawableTop="@mipmap/ic_launcher" 
      android:paddingTop="18dp" 
      android:text="成绩查询" /> 
  </LinearLayout> 
 
  <LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="1" 
    android:orientation="horizontal"> 
 
    <Button 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="1" 
      android:background="@android:color/transparent" 
      android:drawableTop="@mipmap/ic_launcher" 
      android:paddingTop="18dp" 
      android:text="课表信息" /> 
 
    <Button 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="1" 
      android:background="@android:color/transparent" 
      android:drawableTop="@mipmap/ic_launcher" 
      android:paddingTop="18dp" 
      android:text="图书借阅" /> 
 
    <Button 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="1" 
      android:background="@android:color/transparent" 
      android:drawableTop="@mipmap/ic_launcher" 
      android:paddingTop="18dp" 
      android:text="饭卡消费" /> 
  </LinearLayout> 
 
  <LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="0dp" 
    android:layout_weight="1" 
    android:orientation="horizontal"> 
 
    <Button 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="1" 
      android:background="@android:color/transparent" 
      android:drawableTop="@mipmap/ic_launcher" 
      android:paddingTop="18dp" 
      android:text="校园地图" /> 
 
    <Button 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="1" 
      android:background="@android:color/transparent" 
      android:drawableTop="@mipmap/ic_launcher" 
      android:paddingTop="18dp" 
      android:text="在线咨询" /> 
 
    <Button 
      android:id="@+id/neirongbuju" 
      android:layout_width="0dp" 
      android:layout_height="match_parent" 
      android:layout_weight="1" 
      android:background="@android:color/transparent" 
      android:drawableTop="@mipmap/ic_launcher" 
      android:paddingTop="18dp" 
      android:text="查看更多" /> 
  </LinearLayout> 
 
  </LinearLayout> 

以上就是本文的全部内容,希望对大家的学习有所帮助。

相关文章

  • Android中使用socket使底层和framework通信的实现方法

    Android中使用socket使底层和framework通信的实现方法

    native和framework的通信是通过jni,但是这一般只是framework调用native,native如果有消息要怎样通知上层 呢?android中GSP模块提供一种解决思路,但是实现有些复杂,这里介绍一种使用socket通信的方法可以使native和framework自由通信,感兴趣的朋友一起看看吧
    2016-11-11
  • Android中检查、设置默认程序详解

    Android中检查、设置默认程序详解

    这篇文章主要介绍了Android中检查、设置默认程序详解,本文讲解了检测是否有默认的程序、如果有默认程序、没有默认的程序的情况等内容,需要的朋友可以参考下
    2015-01-01
  • Android开发事件处理的代码如何写手摸手教程

    Android开发事件处理的代码如何写手摸手教程

    这篇文章主要为大家介绍了Android开发事件处理的代码如何写手摸手教程,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • Android使用SoundPool播放音效

    Android使用SoundPool播放音效

    这篇文章主要为大家详细介绍了Android使用SoundPool播放音效,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • Android自定义View实现左右滑动选择出生年份

    Android自定义View实现左右滑动选择出生年份

    这篇文章主要介绍了Android自定义View实现左右滑动选择出生年份,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • Android内存泄漏检测工具LeakCanary

    Android内存泄漏检测工具LeakCanary

    在Android的性能优化中,内存优化是必不可少的点,而内存优化最重要的一点就是解决内存泄漏的问题,在Android的内存泄漏分析工具也不少,比如PC端的有:AndroidStudio自带的Android Profiler、MAT等工具;手机端也有,就是我们今天要介绍的LeakCanary
    2023-04-04
  • 解决Eclipse启动出错:Failed to create the Java Virtual Machine

    解决Eclipse启动出错:Failed to create the Java Virtual Machine

    这篇文章主要介绍了解决Eclipse启动出错:Failed to create the Java Virtual Machine的相关资料,这里说明出错原因及查找错误和解决办法,需要的朋友可以参考下
    2017-07-07
  • android流式布局onLayout()方法详解

    android流式布局onLayout()方法详解

    这篇文章主要为大家详细介绍了android流式布局的onLayout()方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Android基础知识之frame动画效果

    Android基础知识之frame动画效果

    Android基础知识之tween动画效果,Android一共提供了两种动画,这篇文章主要介绍了Android动画效果之frame动画,感兴趣的小伙伴们可以参考一下
    2016-06-06
  • Android性能优化之plt hook与native线程监控详解

    Android性能优化之plt hook与native线程监控详解

    这篇文章主要为大家介绍了Android性能优化之plt hook与native线程监控详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-09-09

最新评论