我是靠谱客的博主 务实毛豆,最近开发中收集的这篇文章主要介绍LinearLayout(线性布局)中weight的难点,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、首先我们先用 RelativeLayout (相对布局)实现一个效果,如下:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.administrator.myapplication.MainActivity">
<FrameLayout

android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/rg_but"
></FrameLayout>
<RadioGroup

android:id="@+id/rg_but"
android:layout_alignParentBottom="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@null"
android:text="1"
android:drawableTop="@mipmap/ic_launcher"
android:gravity="center_horizontal"
android:layout_weight="1"/>
<RadioButton

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2"
android:drawableTop="@mipmap/ic_launcher"
android:gravity="center_horizontal"
android:button="@null"
android:layout_weight="1"/>
<RadioButton

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3"
android:drawableTop="@mipmap/ic_launcher"
android:gravity="center_horizontal"
android:button="@null"
android:layout_weight="1"/>
<RadioButton

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="4"
android:drawableTop="@mipmap/ic_launcher"
android:gravity="center_horizontal"
android:button="@null"
android:layout_weight="1"/>
</RadioGroup>
</RelativeLayout>

效果图如下:

这里写图片描述

二、用LinearLayout 实现上述效果

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<FrameLayout

android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
></FrameLayout>
<RadioGroup

android:id="@+id/rg_but"
android:layout_alignParentBottom="true"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@null"
android:text="1"
android:drawableTop="@mipmap/ic_launcher"
android:gravity="center_horizontal"
android:layout_weight="1"/>
<RadioButton

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2"
android:drawableTop="@mipmap/ic_launcher"
android:gravity="center_horizontal"
android:button="@null"
android:layout_weight="1"/>
<RadioButton

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3"
android:drawableTop="@mipmap/ic_launcher"
android:gravity="center_horizontal"
android:button="@null"
android:layout_weight="1"/>
<RadioButton

android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="4"
android:drawableTop="@mipmap/ic_launcher"
android:gravity="center_horizontal"
android:button="@null"
android:layout_weight="1"/>
</RadioGroup>
</LinearLayout>

效果图如下:

这里写图片描述

上述代码实现的效果图与RelativeLayout效果是一样的,在LinearLayout布局中我们用的是weight属性实现了效果:

android:layout_height="0dp"
android:layout_weight="1"

由效果图可知在线性(LinearLayout)布局中,wdight的作用是将屏幕剩余空间按比例来进行分配的。如本题中 android:layout_weight=”1”表示讲除去RadioGroup部分的空间进行分配,1表示剩余的空间全部用FrameLayout来进行填充。这样便会实现上面的效果图

最后

以上就是务实毛豆为你收集整理的LinearLayout(线性布局)中weight的难点的全部内容,希望文章能够帮你解决LinearLayout(线性布局)中weight的难点所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部