详解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> 

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

(0)

相关推荐

  • Android layout_weight使用方法及实例

    直接上代码和图片. 情况一:[html] 复制代码 代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"     android:layout_width="match_parent"     android:layout_hei

  • Android中的android:layout_weight使用详解

    在使用LinearLayout的时候,子控件可以设置layout_weight.layout_weight的作用是设置子空间在LinearLayout的重要度(控件的大小比重).layout_weight的值越低,则控件越重要.若不设置layout_weight则默认比重为0. 如果在一个LinearLayout里面放置两个Button,Button1和Button2,Button1的layout_weight设置为1,Button2的layout_weight设置为2,且两个Button的la

  • 详解Android中weight的使用方法

    android中对weight的学习可以说是必须的,如果UI布局仅仅使用dp与sp等等,会让布局显得极度不灵活,毕竟各个手机屏幕大小不同,更别说是还有ipad之类的了,所以也是同做本人近期做的一个小UI来分享一下weight的使用. 左边是各个屏幕的显示效果,右边是1080*1920屏幕的具体显示效果.可以看到,不管屏幕如何变化,使用weight的布局中总是填充满屏幕的,至于美观效果就不说了,直接上代码. 小编使用的android studio,eclipse用户直接复制肯定会有问题,AS用户直

  • 详解Android中Intent的使用方法

    一.Intent的用途 Intent主要有以下几种重要用途: 1. 启动Activity:可以将Intent对象传递给startActivity()方法或startActivityForResult()方法以启动一个Activity,该Intent对象包含了要启动的Activity的信息及其他必要的数据. 2. 启动Service:可以将Intent对象传递给startService()方法或bindService()方法以启动一个Service,该Intent对象包含了要启动的Service的

  • 详解Android中Notification的使用方法

    在消息通知的时候,我们经常用到两个控件Notification和Toast.特别是重要的和需要长时间显示的信息,用Notification最合适不过了.他可以在顶部显示一个图标以标示有了新的通知,当我们拉下通知栏的时候,可以看到详细的通知内容.       最典型的应用就是未看短信和未接来电的显示,还有QQ微信,我们一看就知道有一个未接来电或者未看短信,收到QQ离线信息.同样,我们也可以自定义一个Notification来定义我们自己的程序想要传达的信息. Notification我把他分为两种

  • 详解Android中IntentService的使用方法

    为什么我们需要IntentService ? Android中的IntentService是继承自Service类的,在我们讨论IntentService之前,我们先想一下Service的特点: Service的回调方法(onCreate.onStartCommand.onBind.onDestroy)都是运行在主线程中的.当我们通过startService启动Service之后,我们就需要在Service的onStartCommand方法中写代码完成工作,但是onStartCommand是运行

  • 详解Android中解析XML的方法

    XML在各种开发中都广泛应用,Android也不例外.作为承载数据的一个重要角色,如何读写XML成为Android开发中一项重要的技能.今天就由我向大家介绍一下在Android平台下几种常见的XML解析和创建的方法. 在Android中,常见的XML解析器分别为SAX解析器.DOM解析器和PULL解析器,下面,我将一一向大家详细介绍. SAX解析器: SAX(Simple API for XML)解析器是一种基于事件的解析器,它的核心是事件处理模式,主要是围绕着事件源以及事件处理器来工作的.当事

  • 详解Android中Handler的使用方法

    在Android开发中,我们经常会遇到这样一种情况:在UI界面上进行某项操作后要执行一段很耗时的代码,比如我们在界面上点击了一个"下载"按钮,那么我们需要执行网络请求,这是一个耗时操作,因为不知道什么时候才能完成.为了保证不影响UI线程,所以我们会创建一个新的线程去执行我们的耗时的代码.当我们的耗时操作完成时,我们需要更新UI界面以告知用户操作完成了.所以我们可能会写出如下的代码: package ispring.com.testhandler; import android.app.

  • 详解Android中AsyncTask的使用方法

    在Android中实现异步任务机制有两种方式,Handler和AsyncTask. Handler模式需要为每一个任务创建一个新的线程,任务完成后通过Handler实例向UI线程发送消息,完成界面的更新,这种方式对于整个过程的控制比较精细,但也是有缺点的,例如代码相对臃肿,在多个任务同时执行时,不易对线程进行精确的控制. 为了简化操作,Android1.5提供了工具类android.os.AsyncTask,它使创建异步任务变得更加简单,不再需要编写任务线程和Handler实例即可完成相同的任务

  • 实例详解Android中JNI的使用方法

    目录 前言 1.导入C语言的类 2.接着导入Android.mk文件 3.我们配置一下build.gradle文件 4.好了,此时可以编译一下项目了 5.此时我们可以找一下我们生成的so包了 6.将生成的so文件拷入src/main/jniLibs中 7.调用C语言方法的Activity如下 总结 前言 做Android开发的程序员应该都知道,Android的开发语言我们都是在使用JAVA(Kotlin和Flutter我们暂时不考虑).但是,有时候我们也需要使用到C语言进行一些功能的开发.这个时

  • 详解Android中接口回调、方法回调

    在Android开发中我们很多地方都用到了方法的回调,回调就是把方法的定义和功能导入实现分开的一种机制,目的是为了解耦他的本质是基于观察者设计模式,即观察者设计模式的的简化版,例如:在下载时候的进度回调,在adapter与activity之间的回调,在javabean和fragment以及fragment之间的回调等等,回调的目的主要有两个:其一是传递数据,其二是保持数据的同步更新.常用的有两种形式,一是使用内部类的形式,得到接口的子类对象,另一种是直接实现定义的接口. 一.内部类的形式 1.在

  • 详解Android中Intent对象与Intent Filter过滤匹配过程

    如果对Intent不是特别了解,可以参见博文<详解Android中Intent的使用方法>,该文对本文要使用的action.category以及data都进行了详细介绍.如果想了解在开发中常见Intent的使用,可以参见<Android中Intent习惯用法>. 本文内容有点长,希望大家可以耐心读完. 本文在描述组件在manifest中注册的Intent Filter过滤器时,统一用intent-filter表示. 一.概述 我们知道,Intent是分两种的:显式Intent和隐式

随机推荐